You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by co...@apache.org on 2010/07/22 19:00:57 UTC

svn commit: r966748 - /openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java

Author: covener
Date: Thu Jul 22 17:00:57 2010
New Revision: 966748

URL: http://svn.apache.org/viewvc?rev=966748&view=rev
Log:
[OWB-418] use new MethodHandler for each proxy instance for EJBs.


Modified:
    openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java

Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java?rev=966748&r1=966747&r2=966748&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbDefinitionUtility.java Thu Jul 22 17:00:57 2010
@@ -21,13 +21,13 @@ package org.apache.webbeans.ejb.common.u
 import javax.enterprise.context.spi.CreationalContext;
 
 import javassist.util.proxy.ProxyFactory;
+import javassist.util.proxy.ProxyObject;
 
 import org.apache.webbeans.ejb.common.component.BaseEjbBean;
 import org.apache.webbeans.ejb.common.component.EjbBeanCreatorImpl;
 import org.apache.webbeans.ejb.common.proxy.EjbBeanProxyHandler;
 import org.apache.webbeans.exception.WebBeansException;
 import org.apache.webbeans.proxy.JavassistProxyFactory;
-import org.apache.webbeans.util.ClassUtil;
 
 /**
  * @version $Rev: 917060 $ $Date: 2010-02-28 00:14:47 +0200 (Sun, 28 Feb 2010) $
@@ -51,22 +51,22 @@ public final class EjbDefinitionUtility
     {
         try
         {
+            T proxyInstance = null;
             bean.setIface(iface);
             
             Class<?> clazz = JavassistProxyFactory.getInstance().getEjbBeanProxyClass(bean);
-            if(clazz != null)
+            if(clazz == null)
             {
-                return (T)ClassUtil.newInstance(clazz);
+                ProxyFactory factory = new ProxyFactory();
+                factory.setInterfaces(new Class[]{iface});
+                clazz = JavassistProxyFactory.getInstance().defineEjbBeanProxyClass(bean, factory);
             }
             
-            //Proxy factory instance
-            ProxyFactory factory = new ProxyFactory();            
+            proxyInstance = (T) clazz.newInstance();
+            EjbBeanProxyHandler handler = new EjbBeanProxyHandler(bean, creationalContext);
+            ((ProxyObject)proxyInstance).setHandler(handler);
             
-            EjbBeanProxyHandler handler = new EjbBeanProxyHandler(bean,creationalContext);            
-            factory.setHandler(handler);
-            factory.setInterfaces(new Class[]{iface});
-         
-            return (T)(JavassistProxyFactory.getInstance().defineEjbBeanProxyClass(bean, factory).newInstance());
+            return proxyInstance;
             
         }
         catch(Exception e)