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/25 20:54:11 UTC

svn commit: r989294 - in /openejb/trunk/openejb3: container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/ container/openejb-core/src/main/java/org/apache/openejb/core/mdb/ container/openejb-core/src/main/java/org/apache/openejb/core/tran...

Author: djencks
Date: Wed Aug 25 18:54:10 2010
New Revision: 989294

URL: http://svn.apache.org/viewvc?rev=989294&view=rev
Log:
OPENEJB-1343 patch from Lin Sun to update to connector 1.6 spec, many thanks

Modified:
    openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/EndpointFactory.java
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/SimpleBootstrapContext.java
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
    openejb/trunk/openejb3/deps/javaee-api/pom.xml

Modified: openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java?rev=989294&r1=989293&r2=989294&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java Wed Aug 25 18:54:10 2010
@@ -182,7 +182,10 @@ public class MdbTest extends TestCase {
                 throw new UnavailableException(e);
             }
         }
-
+        
+        public MessageEndpoint createEndpoint(XAResource xaResource, long timeout) throws UnavailableException {
+            return createEndpoint(xaResource);
+        }
         public boolean isDeliveryTransacted(Method method) throws NoSuchMethodException {
             return false;
         }

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=989294&r1=989293&r2=989294&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 Wed Aug 25 18:54:10 2010
@@ -68,6 +68,30 @@ public class EndpointFactory implements 
         MessageEndpoint messageEndpoint = (MessageEndpoint) Proxy.newProxyInstance(classLoader, interfaces, endpointHandler);
         return messageEndpoint;
     }
+    
+    public MessageEndpoint createEndpoint(XAResource xaResource, long timeout)  throws UnavailableException {
+        if (timeout <= 0) {
+            return createEndpoint(xaResource);
+        }
+        
+        long end = System.currentTimeMillis() + timeout;
+        MessageEndpoint messageEndpoint = null;
+        
+        while (System.currentTimeMillis() <= end) {
+            try {
+                messageEndpoint = createEndpoint(xaResource);
+                break;
+            } catch (Exception ex) {
+                // ignore so we can keep trying
+            }
+        }
+        
+        if (messageEndpoint != null) {
+            return messageEndpoint;
+        } else {
+            throw new UnavailableException("Unable to create end point within the specified timeout " + timeout);
+        }
+    }
 
     public boolean isDeliveryTransacted(Method method) throws NoSuchMethodException {
         TransactionType transactionType = deploymentInfo.getTransactionType(method);

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/SimpleBootstrapContext.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/SimpleBootstrapContext.java?rev=989294&r1=989293&r2=989294&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/SimpleBootstrapContext.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/SimpleBootstrapContext.java Wed Aug 25 18:54:10 2010
@@ -18,9 +18,12 @@
 package org.apache.openejb.core.transaction;
 
 import java.util.Timer;
-import javax.resource.spi.work.WorkManager;
-import javax.resource.spi.XATerminator;
+
 import javax.resource.spi.BootstrapContext;
+import javax.resource.spi.XATerminator;
+import javax.resource.spi.work.WorkContext;
+import javax.resource.spi.work.WorkManager;
+import javax.transaction.TransactionSynchronizationRegistry;
 
 public class SimpleBootstrapContext implements BootstrapContext {
     private final WorkManager workManager;
@@ -47,4 +50,17 @@ public class SimpleBootstrapContext impl
     public Timer createTimer() {
         return new Timer(true);
     }
+
+    public TransactionSynchronizationRegistry getTransactionSynchronizationRegistry() {
+        // for Geronimo transaction manager, it implements XATerminator, TransactionManager & TransactionSynchronizationRegistry
+        if (this.xaTerminator != null && this.xaTerminator instanceof TransactionSynchronizationRegistry) {
+            return (TransactionSynchronizationRegistry)this.xaTerminator;
+        }
+        return null;
+    }
+
+    public boolean isContextSupported(Class<? extends WorkContext> arg0) {
+        // TODO: add work context support
+        return false;
+    }
 }

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java?rev=989294&r1=989293&r2=989294&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java Wed Aug 25 18:54:10 2010
@@ -182,6 +182,10 @@ public class MdbTest extends TestCase {
                 throw new UnavailableException(e);
             }
         }
+        
+        public MessageEndpoint createEndpoint(XAResource xaResource, long timeout) throws UnavailableException {
+            return createEndpoint(xaResource);
+        }
 
         public boolean isDeliveryTransacted(Method method) throws NoSuchMethodException {
             return false;

Modified: openejb/trunk/openejb3/deps/javaee-api/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/deps/javaee-api/pom.xml?rev=989294&r1=989293&r2=989294&view=diff
==============================================================================
--- openejb/trunk/openejb3/deps/javaee-api/pom.xml (original)
+++ openejb/trunk/openejb3/deps/javaee-api/pom.xml Wed Aug 25 18:54:10 2010
@@ -140,8 +140,8 @@
     </dependency>
     <dependency>
       <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
-      <version>1.1.1</version>
+      <artifactId>geronimo-j2ee-connector_1.6_spec</artifactId>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.geronimo.specs</groupId>
@@ -235,4 +235,4 @@
     </dependency>
   </dependencies>
 
-</project>
\ No newline at end of file
+</project>