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);
}