Author: manugeorge
Date: Sat Sep 22 11:32:45 2007
New Revision: 578471

URL: http://svn.apache.org/viewvc?rev=578471&view=rev
Log:
Temporary Fix for GERONIMO-3354 - Exception thrown by MDB involved in XA 
transaction. 
Wrapped XAResource to make it NamedXAResource. Container id is passed as the 
name.

Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java?rev=578471&r1=578470&r2=578471&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java
 Sat Sep 22 11:32:45 2007
@@ -17,6 +17,8 @@
  */
 package org.apache.openejb.core.mdb;
 
+import org.apache.geronimo.transaction.manager.NamedXAResource;
+import org.apache.geronimo.transaction.manager.WrapperNamedXAResource;
 import org.apache.openejb.DeploymentInfo;
 import org.apache.openejb.core.CoreDeploymentInfo;
 
@@ -54,7 +56,11 @@
     }
 
     public MessageEndpoint createEndpoint(XAResource xaResource) throws 
UnavailableException {
-        EndpointHandler endpointHandler = new EndpointHandler(container, 
deploymentInfo, instanceFactory, xaResource);
+        // Hack to get GERONIMO-3354 error from not ocurring. 
+        //TODO Create an abstraction so that we need not use geronimo api 
classes(NamedXAResource).
+        //TODO Confirm that this is all that is required for transaction 
recovery
+        NamedXAResource wrapper = new WrapperNamedXAResource(xaResource, 
container.getContainerID().toString());
+        EndpointHandler endpointHandler = new EndpointHandler(container, 
deploymentInfo, instanceFactory, wrapper);
         MessageEndpoint messageEndpoint = (MessageEndpoint) 
Proxy.newProxyInstance(classLoader, interfaces, endpointHandler);
         return messageEndpoint;
     }


Reply via email to