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>