You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/10/02 11:08:44 UTC
svn commit: r1392800 - in
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb:
EndpointFactory.java MdbContainer.java
Author: dblevins
Date: Tue Oct 2 09:08:44 2012
New Revision: 1392800
URL: http://svn.apache.org/viewvc?rev=1392800&view=rev
Log:
OPENEJB-1904 - Proposed EJB 3.2 / Java EE 7 Connector & MDB Modernization
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java?rev=1392800&r1=1392799&r2=1392800&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java Tue Oct 2 09:08:44 2012
@@ -19,6 +19,7 @@ package org.apache.openejb.core.mdb;
import org.apache.openejb.BeanContext;
import org.apache.openejb.resource.XAResourceWrapper;
import org.apache.openejb.core.transaction.TransactionType;
+import org.apache.openejb.util.proxy.LocalBeanProxyFactory;
import javax.resource.spi.UnavailableException;
import javax.resource.spi.ActivationSpec;
@@ -66,12 +67,14 @@ public class EndpointFactory implements
EndpointHandler endpointHandler = new EndpointHandler(container, beanContext, instanceFactory, xaResource);
MessageEndpoint messageEndpoint = null;
try {
- messageEndpoint = (MessageEndpoint) Proxy.newProxyInstance(classLoader, interfaces, endpointHandler);
+ messageEndpoint = (MessageEndpoint) LocalBeanProxyFactory.newProxyInstance(classLoader, endpointHandler, beanContext.getBeanClass(), interfaces);
+// messageEndpoint = (MessageEndpoint) Proxy.newProxyInstance(classLoader, interfaces, endpointHandler);
} catch (IllegalArgumentException e) {
//try to create the proxy with tccl once again.
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
if (tccl != null) {
- messageEndpoint = (MessageEndpoint) Proxy.newProxyInstance(tccl, interfaces, endpointHandler);
+ messageEndpoint = (MessageEndpoint) LocalBeanProxyFactory.newProxyInstance(tccl, endpointHandler, beanContext.getBeanClass(), interfaces);
+// messageEndpoint = (MessageEndpoint) Proxy.newProxyInstance(tccl, interfaces, endpointHandler);
} else {
throw e;
}
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java?rev=1392800&r1=1392799&r2=1392800&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java Tue Oct 2 09:08:44 2012
@@ -206,6 +206,7 @@ public class MdbContainer implements Rpc
for (Map.Entry<String, String> entry : activationProperties.entrySet()) {
objectRecipe.setMethodProperty(entry.getKey(), entry.getValue());
}
+ objectRecipe.setMethodProperty("beanClass", beanContext.getBeanClass());
// create the activationSpec
ActivationSpec activationSpec = (ActivationSpec) objectRecipe.create(activationSpecClass.getClassLoader());
@@ -214,6 +215,7 @@ public class MdbContainer implements Rpc
Set<String> unusedProperties = new TreeSet<String>(objectRecipe.getUnsetProperties().keySet());
unusedProperties.remove("destination");
unusedProperties.remove("destinationType");
+ unusedProperties.remove("beanClass");
if (!unusedProperties.isEmpty()) {
throw new IllegalArgumentException("No setter found for the activation spec properties: " + unusedProperties);
}