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