You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by dj...@apache.org on 2010/08/05 07:19:37 UTC

svn commit: r982473 - in /openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/mdb: InboundRecovery.java MdbContainer.java

Author: djencks
Date: Thu Aug  5 05:19:37 2010
New Revision: 982473

URL: http://svn.apache.org/viewvc?rev=982473&view=rev
Log:
OPENEJB-1320 xa recovery on inbound resource adapters

Added:
    openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/InboundRecovery.java
      - copied unchanged from r982436, openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/InboundRecovery.java
Modified:
    openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java

Modified: openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java?rev=982473&r1=982472&r2=982473&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java (original)
+++ openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java Thu Aug  5 05:19:37 2010
@@ -81,6 +81,7 @@ public class MdbContainer implements Rpc
 
     private final ConcurrentMap<Object, CoreDeploymentInfo> deployments = new ConcurrentHashMap<Object, CoreDeploymentInfo>();
     private final XAResourceWrapper xaResourceWrapper;
+    private final InboundRecovery inboundRecovery;
 
     public MdbContainer(Object containerID, SecurityService securityService, ResourceAdapter resourceAdapter, Class messageListenerInterface, Class activationSpecClass, int instanceLimit) {
         this.containerID = containerID;
@@ -90,6 +91,7 @@ public class MdbContainer implements Rpc
         this.activationSpecClass = activationSpecClass;
         this.instanceLimit = instanceLimit;
         xaResourceWrapper = SystemInstance.get().getComponent(XAResourceWrapper.class);
+        inboundRecovery = SystemInstance.get().getComponent(InboundRecovery.class);
     }
 
     public DeploymentInfo [] deployments() {
@@ -132,6 +134,10 @@ public class MdbContainer implements Rpc
         // create the activation spec
         ActivationSpec activationSpec = createActivationSpec(deploymentInfo);
 
+        if (inboundRecovery != null) {
+            inboundRecovery.recover(resourceAdapter, activationSpec, containerID.toString());
+        }
+        
         Options options = new Options(deploymentInfo.getProperties());
         int instanceLimit = options.get("InstanceLimit", this.instanceLimit);
         // create the message endpoint