[jboss-cvs] JBossAS SVN: r74907 - projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/proxy/handler/stateful.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 23 11:42:55 EDT 2008


Author: ALRubinger
Date: 2008-06-23 11:42:55 -0400 (Mon, 23 Jun 2008)
New Revision: 74907

Modified:
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/proxy/handler/stateful/StatefulLocalHomeProxyInvocationHandler.java
Log:
[EJBTHREE-1425][JBCTS-815] Perform SFSB Local Home Proxy Calls locally when applicable

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/proxy/handler/stateful/StatefulLocalHomeProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/proxy/handler/stateful/StatefulLocalHomeProxyInvocationHandler.java	2008-06-23 14:45:50 UTC (rev 74906)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/proxy/handler/stateful/StatefulLocalHomeProxyInvocationHandler.java	2008-06-23 15:42:55 UTC (rev 74907)
@@ -23,8 +23,10 @@
 
 import java.lang.reflect.Method;
 
+import org.jboss.aop.util.MethodHashing;
 import org.jboss.ejb3.Container;
 import org.jboss.ejb3.LocalProxyInvocationHandler;
+import org.jboss.ejb3.proxy.ProxyUtils;
 import org.jboss.ejb3.session.SessionContainer;
 
 /**
@@ -50,6 +52,16 @@
    public Object invoke(Object proxy, Method method, Object[] args)
            throws Throwable
    {
+      // Attempt to handle locally
+      long hash = MethodHashing.calculateHash(method);
+      Object ret = ProxyUtils.handleCallLocally(hash, proxy, this, method, args);
+      if (ret != null)
+      {
+         // Was handled locally, return
+         return ret;
+      }
+      
+      // Invoke upon container
       SessionContainer sfsb = (SessionContainer) getContainer();
       return sfsb.localHomeInvoke(method, args);
    }




More information about the jboss-cvs-commits mailing list