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)