You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2010/02/27 23:14:47 UTC
svn commit: r917060 - in /openwebbeans/trunk: samples/ejb-sample/
samples/ejb-sample/src/main/resources/META-INF/openwebbeans/
samples/ejb-telephone/ samples/guess/ webbeans-impl/
webbeans-impl/src/main/java/org/apache/webbeans/component/ webbeans-impl...
Author: gerdogdu
Date: Sat Feb 27 22:14:47 2010
New Revision: 917060
URL: http://svn.apache.org/viewvc?rev=917060&view=rev
Log:
Update ProxyFactory class creation for classloader issues
Modified:
openwebbeans/trunk/samples/ejb-sample/pom.xml
openwebbeans/trunk/samples/ejb-sample/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
openwebbeans/trunk/samples/ejb-telephone/pom.xml
openwebbeans/trunk/samples/guess/pom.xml
openwebbeans/trunk/webbeans-impl/pom.xml
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/ResourceProxyHandler.java
openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/util/JmsUtil.java
openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/util/EjbDefinitionUtility.java
Modified: openwebbeans/trunk/samples/ejb-sample/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/ejb-sample/pom.xml?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/samples/ejb-sample/pom.xml (original)
+++ openwebbeans/trunk/samples/ejb-sample/pom.xml Sat Feb 27 22:14:47 2010
@@ -63,8 +63,31 @@
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-impl</artifactId>
<version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jcdi_1.0_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jcdi_1.0_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+
<!-- JSF Plugin -->
<dependency>
<groupId>org.apache.openwebbeans</groupId>
Modified: openwebbeans/trunk/samples/ejb-sample/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/ejb-sample/src/main/resources/META-INF/openwebbeans/openwebbeans.properties?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/samples/ejb-sample/src/main/resources/META-INF/openwebbeans/openwebbeans.properties (original)
+++ openwebbeans/trunk/samples/ejb-sample/src/main/resources/META-INF/openwebbeans/openwebbeans.properties Sat Feb 27 22:14:47 2010
@@ -33,4 +33,4 @@
org.apache.webbeans.spi.deployer.UseEjbMetaDataDiscoveryService=true
#use resource service
-org.apache.webbeans.spi.ResourceService=org.apache.webbeans.ejb.resource.OpenEjbResourceInjectionService
\ No newline at end of file
+org.apache.webbeans.spi.ResourceInjectionService=org.apache.webbeans.ejb.resource.OpenEjbResourceInjectionService
\ No newline at end of file
Modified: openwebbeans/trunk/samples/ejb-telephone/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/ejb-telephone/pom.xml?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/samples/ejb-telephone/pom.xml (original)
+++ openwebbeans/trunk/samples/ejb-telephone/pom.xml Sat Feb 27 22:14:47 2010
@@ -56,8 +56,30 @@
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-impl</artifactId>
<version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jcdi_1.0_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jcdi_1.0_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
<!-- JSF Plugin -->
<dependency>
<groupId>org.apache.openwebbeans</groupId>
@@ -119,11 +141,11 @@
<scope>provided</scope>
</dependency>
- <!-- Validator API -->
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-validation_1.0_spec</artifactId>
- </dependency>
+ <!-- Validator API -->
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-validation_1.0_spec</artifactId>
+ </dependency>
</dependencies>
Modified: openwebbeans/trunk/samples/guess/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/guess/pom.xml?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/samples/guess/pom.xml (original)
+++ openwebbeans/trunk/samples/guess/pom.xml Sat Feb 27 22:14:47 2010
@@ -63,12 +63,12 @@
</dependency>
- <!-- OWB implementation per application -->
- <dependency>
- <groupId>org.apache.openwebbeans</groupId>
- <artifactId>openwebbeans-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
+ <!-- OWB implementation per application -->
+ <dependency>
+ <groupId>org.apache.openwebbeans</groupId>
+ <artifactId>openwebbeans-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
Modified: openwebbeans/trunk/webbeans-impl/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/pom.xml?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/pom.xml (original)
+++ openwebbeans/trunk/webbeans-impl/pom.xml Sat Feb 27 22:14:47 2010
@@ -80,10 +80,10 @@
<artifactId>geronimo-jcdi_1.0_spec</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-atinject_1.0_spec</artifactId>
- </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ </dependency>
<dependency>
<groupId>junit</groupId>
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java Sat Feb 27 22:14:47 2010
@@ -59,7 +59,7 @@
this.actualResourceReference = resourceService.getResourceReference(this.resourceReference);
proxyFactory.setHandler(new ResourceProxyHandler(this.actualResourceReference));
- instance = (X)proxyFactory.createClass().newInstance();
+ instance = (X)(JavassistProxyFactory.getProxyClass(proxyFactory).newInstance());
}
catch (Exception e)
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java Sat Feb 27 22:14:47 2010
@@ -180,7 +180,7 @@
if (proxyClass == null)
{
ProxyFactory delegateFactory = JavassistProxyFactory.createProxyFactory(bean);
- proxyClass = delegateFactory.createClass();
+ proxyClass = JavassistProxyFactory.getProxyClass(delegateFactory);
interceptorProxyClasses.put(bean, proxyClass);
}
Object delegate = proxyClass.newInstance();
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java Sat Feb 27 22:14:47 2010
@@ -62,7 +62,7 @@
{
ProxyFactory fact = createProxyFactory(bean);
- proxyClass = fact.createClass();
+ proxyClass = getProxyClass(fact);
normalScopedBeanProxyClasses.put(bean, proxyClass);
}
@@ -128,7 +128,7 @@
if (proxyClass == null)
{
ProxyFactory fact = createProxyFactory(bean);
- proxyClass = fact.createClass();
+ proxyClass = getProxyClass(fact);
dependentScopedBeanProxyClasses.put(bean, proxyClass);
}
@@ -148,6 +148,31 @@
}
+ public static Class<?> getProxyClass(ProxyFactory factory)
+ {
+ Class<?> proxyClass = null;
+ try
+ {
+ proxyClass = factory.createClass();
+
+ }catch(Exception e)
+ {
+ ProxyFactory.classLoaderProvider = new ProxyFactory.ClassLoaderProvider(){
+
+ @Override
+ public ClassLoader get(ProxyFactory pf)
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+
+ };
+
+ proxyClass = factory.createClass();
+ }
+
+ return proxyClass;
+ }
+
public static ProxyFactory createProxyFactory(Bean<?> bean) throws Exception
{
Set<Type> types = bean.getTypes();
@@ -176,9 +201,9 @@
Class<?>[] interfaceArray = new Class<?>[interfaceList.size()];
interfaceArray = interfaceList.toArray(interfaceArray);
- ProxyFactory fact = new ProxyFactory();
+ ProxyFactory fact = new ProxyFactory();
fact.setInterfaces(interfaceArray);
- fact.setSuperclass(superClass);
+ fact.setSuperclass(superClass);
// turn off caching since this is utterly broken
// this is a static field, but we do not know who else
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/ResourceProxyHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/ResourceProxyHandler.java?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/ResourceProxyHandler.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/ResourceProxyHandler.java Sat Feb 27 22:14:47 2010
@@ -32,9 +32,9 @@
}
@Override
- public Object invoke(Object self, Method thisMethod, Method proceed, Object[] args) throws Throwable
+ public Object invoke(Object self, Method actualMethod, Method proceed, Object[] args) throws Throwable
{
- return proceed.invoke(this.actualResource, args);
+ return actualMethod.invoke(this.actualResource, args);
}
}
Modified: openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/util/JmsUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/util/JmsUtil.java?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/util/JmsUtil.java (original)
+++ openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/util/JmsUtil.java Sat Feb 27 22:14:47 2010
@@ -43,6 +43,7 @@
import org.apache.webbeans.exception.WebBeansException;
import org.apache.webbeans.jms.JMSModel;
import org.apache.webbeans.jms.component.JmsBean;
+import org.apache.webbeans.proxy.JavassistProxyFactory;
import org.apache.webbeans.spi.JNDIService;
import org.apache.webbeans.spi.ServiceLoader;
import org.apache.webbeans.util.Asserts;
@@ -177,7 +178,7 @@
pf.setHandler(new JmsProxyHandler(jmsComponent,intf));
- result = pf.createClass().newInstance();
+ result = JavassistProxyFactory.getProxyClass(pf).newInstance();
}
catch (Exception e)
Modified: openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/util/EjbDefinitionUtility.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/util/EjbDefinitionUtility.java?rev=917060&r1=917059&r2=917060&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/util/EjbDefinitionUtility.java (original)
+++ openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/util/EjbDefinitionUtility.java Sat Feb 27 22:14:47 2010
@@ -24,6 +24,7 @@
import org.apache.webbeans.ejb.component.creation.EjbBeanCreatorImpl;
import org.apache.webbeans.ejb.proxy.EjbBeanProxyHandler;
import org.apache.webbeans.exception.WebBeansException;
+import org.apache.webbeans.proxy.JavassistProxyFactory;
/**
* @version $Rev$ $Date$
@@ -63,7 +64,7 @@
factory.setInterfaces(new Class[]{iface});
}
- return (T)factory.createClass().newInstance();
+ return (T)(JavassistProxyFactory.getProxyClass(factory).newInstance());
}catch(Exception e)
{