You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2012/06/21 19:10:47 UTC
git commit: Revert change to locking,
as it can fail in some (reentrant) cases
Updated Branches:
refs/heads/5.3 09be89ed3 -> 65ecd5d3c
Revert change to locking, as it can fail in some (reentrant) cases
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/65ecd5d3
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/65ecd5d3
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/65ecd5d3
Branch: refs/heads/5.3
Commit: 65ecd5d3c562e92fd0a0a2581bf98a3af07b19c4
Parents: 09be89e
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Thu Jun 21 10:10:24 2012 -0700
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Thu Jun 21 10:10:38 2012 -0700
----------------------------------------------------------------------
.../internal/AbstractReloadableObjectCreator.java | 32 ++++-----------
1 files changed, 8 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/65ecd5d3/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator.java b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator.java
index 80873e5..357c66c 100644
--- a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator.java
+++ b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator.java
@@ -26,7 +26,6 @@ import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.ioc.ReloadAware;
import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.ioc.internal.util.LockSupport;
import org.apache.tapestry5.ioc.internal.util.URLChangeTracker;
import org.apache.tapestry5.ioc.services.PlasticProxyFactory;
import org.apache.tapestry5.services.UpdateListener;
@@ -40,7 +39,7 @@ import java.net.URL;
import java.util.Set;
@SuppressWarnings("all")
-public abstract class AbstractReloadableObjectCreator extends LockSupport implements ObjectCreator, UpdateListener, ClassLoaderDelegate
+public abstract class AbstractReloadableObjectCreator implements ObjectCreator, UpdateListener, ClassLoaderDelegate
{
private final ClassLoader baseClassLoader;
@@ -112,21 +111,14 @@ public abstract class AbstractReloadableObjectCreator extends LockSupport implem
return false;
}
- public Object createObject()
+ public synchronized Object createObject()
{
- try
- {
- acquireReadLock();
- if (instance == null)
- {
- instance = createInstance();
- }
-
- return instance;
- } finally
+ if (instance == null)
{
- releaseReadLock();
+ instance = createInstance();
}
+
+ return instance;
}
private Object createInstance()
@@ -135,17 +127,9 @@ public abstract class AbstractReloadableObjectCreator extends LockSupport implem
{
public Object invoke()
{
- try
- {
- upgradeReadLockToWriteLock();
-
- Class reloadedClass = reloadImplementationClass();
+ Class reloadedClass = reloadImplementationClass();
- return createInstance(reloadedClass);
- } finally
- {
- downgradeWriteLockToReadLock();
- }
+ return createInstance(reloadedClass);
}
});
}