You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2012/06/21 19:28:19 UTC
[2/9] git commit: Revert change to locking,
as it can fail in some (reentrant) cases
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/91b0adc1
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/91b0adc1
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/91b0adc1
Branch: refs/heads/master
Commit: 91b0adc1dbe15d09a2383836f08bd263d35ec0ce
Parents: a1bef86
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:24 2012 -0700
----------------------------------------------------------------------
.../internal/AbstractReloadableObjectCreator.java | 32 ++++-----------
1 files changed, 8 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/91b0adc1/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);
}
});
}