You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ge...@apache.org on 2011/05/26 05:43:42 UTC
svn commit: r1127777 -
/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
Author: genspring
Date: Thu May 26 03:43:41 2011
New Revision: 1127777
URL: http://svn.apache.org/viewvc?rev=1127777&view=rev
Log:
OPENEJB-1558 don't copy the returned aync method return value for now because FutureAdaptor is not serializable.
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java?rev=1127777&r1=1127776&r2=1127777&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java Thu May 26 03:43:41 2011
@@ -270,17 +270,23 @@ public abstract class BaseEjbProxyHandle
IntraVmCopyMonitor.post();
}
}
-
+ IntraVmCopyMonitor.State oldStrategy = strategy;
+ if (getBeanContext().isAsynchronous(method)){
+ strategy = IntraVmCopyMonitor.State.NONE;
+ }
+
try {
Object returnValue = _invoke(proxy, interfce, method, args);
-
return copy(strategy, returnValue);
} catch (Throwable throwable) {
throwable = copy(strategy, throwable);
throw convertException(throwable, method, interfce);
+ } finally {
+ strategy = oldStrategy;
}
} finally {
+
if (callContext == null && localClientIdentity != null) {
SecurityService securityService = SystemInstance.get().getComponent(SecurityService.class);
securityService.disassociate();