buildbot failure in on tomee-7.1.x-ubuntu-jvm8
The Buildbot has detected a new failure on builder tomee-7.1.x-ubuntu-jvm8 while building tomee. Full details are available at: https://ci.apache.org/builders/tomee-7.1.x-ubuntu-jvm8/builds/84 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_qnode7_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-tomee-7.1.x-ubuntu-jvm8-commit' triggered this build Build Source Stamp: [branch tomee-7.1.x] d4097e360673cef742d2c42ab664df754993e561 Blamelist: Jonathan S. Fisher BUILD FAILED: failed test Sincerely, -The Buildbot
[jira] [Resolved] (TOMEE-2652) TransactionSupport parameter not honored on JMS Connection Factory resources
[ https://issues.apache.org/jira/browse/TOMEE-2652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan S Fisher resolved TOMEE-2652. -- Fix Version/s: 7.1.2 7.0.7 8.0.0-M4 8.0.0-Final Resolution: Fixed > TransactionSupport parameter not honored on JMS Connection Factory resources > > > Key: TOMEE-2652 > URL: https://issues.apache.org/jira/browse/TOMEE-2652 > Project: TomEE > Issue Type: Bug >Affects Versions: 7.0.6, 7.1.1, 8.0.0-M3 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > Fix For: 8.0.0-Final, 8.0.0-M4, 7.0.7, 7.1.2 > > > service-jar.xml has the following: > > \# Specifies if the connection is enrolled in global transaction > \# allowed values: xa, local or none > TransactionSupport xa > However this is not honored [supported] on jms connection factories. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Updated] (TOMEE-2652) TransactionSupport parameter not honored on JMS Connection Factory resources
[ https://issues.apache.org/jira/browse/TOMEE-2652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan S Fisher updated TOMEE-2652: - Affects Version/s: 7.0.6 7.1.1 8.0.0-M3 > TransactionSupport parameter not honored on JMS Connection Factory resources > > > Key: TOMEE-2652 > URL: https://issues.apache.org/jira/browse/TOMEE-2652 > Project: TomEE > Issue Type: Bug >Affects Versions: 7.0.6, 7.1.1, 8.0.0-M3 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > > service-jar.xml has the following: > > \# Specifies if the connection is enrolled in global transaction > \# allowed values: xa, local or none > TransactionSupport xa > However this is not honored [supported] on jms connection factories. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Resolved] (TOMEE-2229) JMSContext Injected by TomEE does not participate in JTA, or at least sends messages immediately
[ https://issues.apache.org/jira/browse/TOMEE-2229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan S Fisher resolved TOMEE-2229. -- Fix Version/s: 7.1.2 7.0.7 8.0.0-M4 8.0.0-Final Resolution: Fixed > JMSContext Injected by TomEE does not participate in JTA, or at least sends > messages immediately > > > Key: TOMEE-2229 > URL: https://issues.apache.org/jira/browse/TOMEE-2229 > Project: TomEE > Issue Type: Bug > Components: TomEE Core Server >Affects Versions: 7.0.5, 7.0.6, 7.1.1, 8.0.0-M3 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Critical > Fix For: 8.0.0-Final, 8.0.0-M4, 7.0.7, 7.1.2 > > > Hey guys, > We noticed that if you have a JMSContext in a transaction EJB or CDI Bean, it > always sends messages immediately instead of waiting for the XA to commit. > We found this by injecting a JMSContext into an MDB marked with > TransactionAttribute(Required), calling the jmsContext.createProducer() > method, sending some messages, then sleeping the original MDB thread for > several seconds. The messages arrive at their destinations immediately, long > before the MDB thread wakes up and the XA transaction completes. > Is there a chance our understanding is not correct? > According to the docs: > {quote}If the injected JMSContext is used in a JTA transaction (whether > container-managed or bean-managed), the JMSContext is considered to have > transaction scope. This means that after the JTA transaction is committed, > the JMSContext will be automatically closed.{quote} > References: > * https://www.oracle.com/technetwork/articles/java/jms20-1947669.html -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (TOMEE-2229) JMSContext Injected by TomEE does not participate in JTA, or at least sends messages immediately
[ https://issues.apache.org/jira/browse/TOMEE-2229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918776#comment-16918776 ] Jonathan S Fisher commented on TOMEE-2229: -- Fixed: https://github.com/apache/tomee/commit/3780eb6008ea3369ab745d0c1d7af718664323be > JMSContext Injected by TomEE does not participate in JTA, or at least sends > messages immediately > > > Key: TOMEE-2229 > URL: https://issues.apache.org/jira/browse/TOMEE-2229 > Project: TomEE > Issue Type: Bug > Components: TomEE Core Server >Affects Versions: 7.0.5, 7.0.6, 7.1.1, 8.0.0-M3 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Critical > > Hey guys, > We noticed that if you have a JMSContext in a transaction EJB or CDI Bean, it > always sends messages immediately instead of waiting for the XA to commit. > We found this by injecting a JMSContext into an MDB marked with > TransactionAttribute(Required), calling the jmsContext.createProducer() > method, sending some messages, then sleeping the original MDB thread for > several seconds. The messages arrive at their destinations immediately, long > before the MDB thread wakes up and the XA transaction completes. > Is there a chance our understanding is not correct? > According to the docs: > {quote}If the injected JMSContext is used in a JTA transaction (whether > container-managed or bean-managed), the JMSContext is considered to have > transaction scope. This means that after the JTA transaction is committed, > the JMSContext will be automatically closed.{quote} > References: > * https://www.oracle.com/technetwork/articles/java/jms20-1947669.html -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (TOMEE-2652) TransactionSupport parameter not honored on JMS Connection Factory resources
[ https://issues.apache.org/jira/browse/TOMEE-2652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918777#comment-16918777 ] Jonathan S Fisher commented on TOMEE-2652: -- Fixed: https://github.com/apache/tomee/commit/3780eb6008ea3369ab745d0c1d7af718664323be > TransactionSupport parameter not honored on JMS Connection Factory resources > > > Key: TOMEE-2652 > URL: https://issues.apache.org/jira/browse/TOMEE-2652 > Project: TomEE > Issue Type: Bug >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > > service-jar.xml has the following: > > \# Specifies if the connection is enrolled in global transaction > \# allowed values: xa, local or none > TransactionSupport xa > However this is not honored [supported] on jms connection factories. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Assigned] (TOMEE-2652) TransactionSupport parameter not honored on JMS Connection Factory resources
[ https://issues.apache.org/jira/browse/TOMEE-2652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan S Fisher reassigned TOMEE-2652: Assignee: Jonathan S Fisher > TransactionSupport parameter not honored on JMS Connection Factory resources > > > Key: TOMEE-2652 > URL: https://issues.apache.org/jira/browse/TOMEE-2652 > Project: TomEE > Issue Type: Bug >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > > service-jar.xml has the following: > > \# Specifies if the connection is enrolled in global transaction > \# allowed values: xa, local or none > TransactionSupport xa > However this is not honored [supported] on jms connection factories. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Updated] (TOMEE-2229) JMSContext Injected by TomEE does not participate in JTA, or at least sends messages immediately
[ https://issues.apache.org/jira/browse/TOMEE-2229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan S Fisher updated TOMEE-2229: - Affects Version/s: 7.0.6 7.1.1 8.0.0-M3 > JMSContext Injected by TomEE does not participate in JTA, or at least sends > messages immediately > > > Key: TOMEE-2229 > URL: https://issues.apache.org/jira/browse/TOMEE-2229 > Project: TomEE > Issue Type: Bug > Components: TomEE Core Server >Affects Versions: 7.0.5, 7.0.6, 7.1.1, 8.0.0-M3 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Critical > > Hey guys, > We noticed that if you have a JMSContext in a transaction EJB or CDI Bean, it > always sends messages immediately instead of waiting for the XA to commit. > We found this by injecting a JMSContext into an MDB marked with > TransactionAttribute(Required), calling the jmsContext.createProducer() > method, sending some messages, then sleeping the original MDB thread for > several seconds. The messages arrive at their destinations immediately, long > before the MDB thread wakes up and the XA transaction completes. > Is there a chance our understanding is not correct? > According to the docs: > {quote}If the injected JMSContext is used in a JTA transaction (whether > container-managed or bean-managed), the JMSContext is considered to have > transaction scope. This means that after the JTA transaction is committed, > the JMSContext will be automatically closed.{quote} > References: > * https://www.oracle.com/technetwork/articles/java/jms20-1947669.html -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Assigned] (TOMEE-2229) JMSContext Injected by TomEE does not participate in JTA, or at least sends messages immediately
[ https://issues.apache.org/jira/browse/TOMEE-2229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan S Fisher reassigned TOMEE-2229: Assignee: Jonathan S Fisher > JMSContext Injected by TomEE does not participate in JTA, or at least sends > messages immediately > > > Key: TOMEE-2229 > URL: https://issues.apache.org/jira/browse/TOMEE-2229 > Project: TomEE > Issue Type: Bug > Components: TomEE Core Server >Affects Versions: 7.0.5 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Critical > > Hey guys, > We noticed that if you have a JMSContext in a transaction EJB or CDI Bean, it > always sends messages immediately instead of waiting for the XA to commit. > We found this by injecting a JMSContext into an MDB marked with > TransactionAttribute(Required), calling the jmsContext.createProducer() > method, sending some messages, then sleeping the original MDB thread for > several seconds. The messages arrive at their destinations immediately, long > before the MDB thread wakes up and the XA transaction completes. > Is there a chance our understanding is not correct? > According to the docs: > {quote}If the injected JMSContext is used in a JTA transaction (whether > container-managed or bean-managed), the JMSContext is considered to have > transaction scope. This means that after the JTA transaction is committed, > the JMSContext will be automatically closed.{quote} > References: > * https://www.oracle.com/technetwork/articles/java/jms20-1947669.html -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Resolved] (TOMEE-2650) TomEE connection.createConnect(int) does not ignore value when in a JTA Transcation
[ https://issues.apache.org/jira/browse/TOMEE-2650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan S Fisher resolved TOMEE-2650. -- Fix Version/s: 7.1.2 7.0.7 8.0.0-M4 8.0.0-Final Resolution: Fixed > TomEE connection.createConnect(int) does not ignore value when in a JTA > Transcation > --- > > Key: TOMEE-2650 > URL: https://issues.apache.org/jira/browse/TOMEE-2650 > Project: TomEE > Issue Type: Bug >Affects Versions: 7.0.6, 7.1.1, 8.0.0-M3 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > Fix For: 8.0.0-Final, 8.0.0-M4, 7.0.7, 7.1.2 > > > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#createSession-int- > {noformat} > In a Java EE web or EJB container, when there is an active JTA transaction in > progress: > The argument sessionMode is ignored. The session will participate in the JTA > transaction and will be committed or rolled back when that transaction is > committed or rolled back, not by calling the session's commit or rollback > methods. Since the argument is ignored, developers are recommended to use > createSession(), which has no arguments, instead of this method. > {noformat} > When there is a JTA Transaction in place, TomEE is returning non XA Sessions. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (TOMEE-2650) TomEE connection.createConnect(int) does not ignore value when in a JTA Transcation
[ https://issues.apache.org/jira/browse/TOMEE-2650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918775#comment-16918775 ] Jonathan S Fisher commented on TOMEE-2650: -- Fixed in commit: https://github.com/apache/tomee/commit/3780eb6008ea3369ab745d0c1d7af718664323be > TomEE connection.createConnect(int) does not ignore value when in a JTA > Transcation > --- > > Key: TOMEE-2650 > URL: https://issues.apache.org/jira/browse/TOMEE-2650 > Project: TomEE > Issue Type: Bug >Affects Versions: 7.0.6, 7.1.1, 8.0.0-M3 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#createSession-int- > {noformat} > In a Java EE web or EJB container, when there is an active JTA transaction in > progress: > The argument sessionMode is ignored. The session will participate in the JTA > transaction and will be committed or rolled back when that transaction is > committed or rolled back, not by calling the session's commit or rollback > methods. Since the argument is ignored, developers are recommended to use > createSession(), which has no arguments, instead of this method. > {noformat} > When there is a JTA Transaction in place, TomEE is returning non XA Sessions. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Resolved] (TOMEE-2651) TomEE Does not Free JMS Connection from Pool after Transaction Timeout
[ https://issues.apache.org/jira/browse/TOMEE-2651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan S Fisher resolved TOMEE-2651. -- Resolution: Fixed > TomEE Does not Free JMS Connection from Pool after Transaction Timeout > -- > > Key: TOMEE-2651 > URL: https://issues.apache.org/jira/browse/TOMEE-2651 > Project: TomEE > Issue Type: Bug >Affects Versions: 7.0.6, 7.1.1, 8.0.0-M3 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > Fix For: 8.0.0-Final, 7.0.7, 7.1.2 > > > See here for a project to reproduce this issue: > https://github.com/exabrial/tomee-jms2-bug/tree/connection-pool-leak > Essentially, if your transaction times out, you can't free the connection and > it's permanently considered occupied. This eventually drains the pool of > connections and tomee freezes. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (TOMEE-2651) TomEE Does not Free JMS Connection from Pool after Transaction Timeout
[ https://issues.apache.org/jira/browse/TOMEE-2651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918772#comment-16918772 ] Jonathan S Fisher commented on TOMEE-2651: -- Fixed in commit: https://github.com/apache/tomee/commit/3780eb6008ea3369ab745d0c1d7af718664323be > TomEE Does not Free JMS Connection from Pool after Transaction Timeout > -- > > Key: TOMEE-2651 > URL: https://issues.apache.org/jira/browse/TOMEE-2651 > Project: TomEE > Issue Type: Bug >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > > See here for a project to reproduce this issue: > https://github.com/exabrial/tomee-jms2-bug/tree/connection-pool-leak > Essentially, if your transaction times out, you can't free the connection and > it's permanently considered occupied. This eventually drains the pool of > connections and tomee freezes. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Updated] (TOMEE-2651) TomEE Does not Free JMS Connection from Pool after Transaction Timeout
[ https://issues.apache.org/jira/browse/TOMEE-2651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan S Fisher updated TOMEE-2651: - Fix Version/s: 7.1.2 7.0.7 8.0.0-Final Affects Version/s: 7.0.6 7.1.1 8.0.0-M3 > TomEE Does not Free JMS Connection from Pool after Transaction Timeout > -- > > Key: TOMEE-2651 > URL: https://issues.apache.org/jira/browse/TOMEE-2651 > Project: TomEE > Issue Type: Bug >Affects Versions: 7.0.6, 7.1.1, 8.0.0-M3 >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > Fix For: 8.0.0-Final, 7.0.7, 7.1.2 > > > See here for a project to reproduce this issue: > https://github.com/exabrial/tomee-jms2-bug/tree/connection-pool-leak > Essentially, if your transaction times out, you can't free the connection and > it's permanently considered occupied. This eventually drains the pool of > connections and tomee freezes. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (TOMEE-2651) TomEE Does not Free JMS Connection from Pool after Transaction Timeout
[ https://issues.apache.org/jira/browse/TOMEE-2651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918771#comment-16918771 ] Jonathan S Fisher commented on TOMEE-2651: -- RCA: After the transaction times out, the AutoConnectionTracker was trying to call `transactionRegistry.getResource`. The Geronimo JTA adapter is especially aggressive and throws an exception. This causes the removal process to abort, leaving the connection in a used state. See mailing list for more details. http://tomee-openejb.979440.n4.nabble.com/JTA-JMS-Spec-question-connection-leakage-td4690100.html > TomEE Does not Free JMS Connection from Pool after Transaction Timeout > -- > > Key: TOMEE-2651 > URL: https://issues.apache.org/jira/browse/TOMEE-2651 > Project: TomEE > Issue Type: Bug >Reporter: Jonathan S Fisher >Assignee: Jonathan S Fisher >Priority: Major > > See here for a project to reproduce this issue: > https://github.com/exabrial/tomee-jms2-bug/tree/connection-pool-leak > Essentially, if your transaction times out, you can't free the connection and > it's permanently considered occupied. This eventually drains the pool of > connections and tomee freezes. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[tomee] branch tomee-7.1.x updated: Fix several JMS/JMS2.0 bugs
This is an automated email from the ASF dual-hosted git repository. jfisher pushed a commit to branch tomee-7.1.x in repository https://gitbox.apache.org/repos/asf/tomee.git The following commit(s) were added to refs/heads/tomee-7.1.x by this push: new d4097e3 Fix several JMS/JMS2.0 bugs d4097e3 is described below commit d4097e360673cef742d2c42ab664df754993e561 Author: Jonathan S. Fisher AuthorDate: Mon Aug 26 20:09:10 2019 -0500 Fix several JMS/JMS2.0 bugs * Fix TOMEE-2229: JMSContext Injected by TomEE does not participate in JTA * Fix TOMEE-2650: TomEE Creating non-JTA Sessions * Fix TOMEE-2651: TomEE doesn't return JMS Connection to pool after a Transaction Timeout * Fix TOMEE-2652: TransactionSupport parameter not honored on JMS Connection Factory resources --- .../openejb/resource/AutoConnectionTracker.java| 26 ++-- .../openejb/resource/activemq/jms2/JMS2.java | 13 ++ .../resource/activemq/jms2/JMSContextImpl.java | 7 +- .../resource/activemq/jms2/JMSProducerImpl.java| 1 + .../activemq/jms2/TomEEConnectionFactory.java | 42 +-- .../activemq/jms2/TomEEManagedConnection.java | 10 +- .../jms2/TomEEManagedConnectionFactory.java| 45 ++- .../activemq/jms2/TomEEManagedConnectionProxy.java | 132 - .../activemq/jms2/TomEERAConnectionFactory.java| 108 - .../activemq/jms2/cdi/JMS2CDIExtension.java| 18 ++- 10 files changed, 360 insertions(+), 42 deletions(-) diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java index 49f891e..3064aec 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java @@ -22,6 +22,7 @@ import org.apache.geronimo.connector.outbound.ConnectionReturnAction; import org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor; import org.apache.geronimo.connector.outbound.ManagedConnectionInfo; import org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTracker; +import org.apache.geronimo.transaction.manager.TransactionImpl; import org.apache.openejb.dyni.DynamicSubclass; import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.util.LogCategory; @@ -32,7 +33,6 @@ import javax.resource.ResourceException; import javax.resource.spi.DissociatableManagedConnection; import javax.transaction.Synchronization; import javax.transaction.SystemException; -import javax.transaction.Transaction; import javax.transaction.TransactionManager; import javax.transaction.TransactionSynchronizationRegistry; import java.lang.ref.PhantomReference; @@ -58,6 +58,7 @@ public class AutoConnectionTracker implements ConnectionTracker { private final TransactionManager txMgr; private final Logger logger = Logger.getInstance(LogCategory.OPENEJB_CONNECTOR, "org.apache.openejb.resource"); private final ConcurrentMap references = new ConcurrentHashMap(); +@SuppressWarnings("rawtypes") private final ReferenceQueue referenceQueue = new ReferenceQueue(); private final ConcurrentMap, Class> proxies = new ConcurrentHashMap<>(); private final ConcurrentMap, Class[]> interfaces = new ConcurrentHashMap<>(); @@ -80,6 +81,7 @@ public class AutoConnectionTracker implements ConnectionTracker { * @param connectionInfo the connection to be obtained * @param keythe unique id of the connection manager */ +@Override public void setEnvironment(final ConnectionInfo connectionInfo, final String key) { ProxyPhantomReference reference = (ProxyPhantomReference) referenceQueue.poll(); while (reference != null) { @@ -103,12 +105,14 @@ public class AutoConnectionTracker implements ConnectionTracker { * @param connectionInfo the connection that was obtained * @param reassociateshould always be false */ +@SuppressWarnings("unchecked") +@Override public void handleObtained(final ConnectionTrackingInterceptor interceptor, final ConnectionInfo connectionInfo, final boolean reassociate) throws ResourceException { if (txMgr != null && registry != null) { -Transaction currentTx = null; +TransactionImpl currentTx = null; try { -currentTx = txMgr.getTransaction(); -} catch (SystemException e) { +currentTx = (TransactionImpl) txMgr.getTransaction(); +} catch (SystemException | ClassCastException e) { //ignore } @@ -166,16 +170,18 @@ public class AutoConnectionTracker implements ConnectionTracker { * @param connectionInfo the connection that was released * @param action ignored */
[tomee] branch tomee-7.0.x updated: Bump version number to 7.0.7-SNAPSHOT on this file
This is an automated email from the ASF dual-hosted git repository. jfisher pushed a commit to branch tomee-7.0.x in repository https://gitbox.apache.org/repos/asf/tomee.git The following commit(s) were added to refs/heads/tomee-7.0.x by this push: new 6bdfc48 Bump version number to 7.0.7-SNAPSHOT on this file 6bdfc48 is described below commit 6bdfc48b75d3849a85213462b0dcc883ca661f3e Author: Jonathan S. Fisher AuthorDate: Thu Aug 29 11:33:52 2019 -0500 Bump version number to 7.0.7-SNAPSHOT on this file --- .../test/java/org/superbiz/moviefun/DeployInWebAppsDirectoryTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/connector-ear/connector-sample-functional-tests/src/test/java/org/superbiz/moviefun/DeployInWebAppsDirectoryTest.java b/examples/connector-ear/connector-sample-functional-tests/src/test/java/org/superbiz/moviefun/DeployInWebAppsDirectoryTest.java index 05e58e9..190cc39 100644 --- a/examples/connector-ear/connector-sample-functional-tests/src/test/java/org/superbiz/moviefun/DeployInWebAppsDirectoryTest.java +++ b/examples/connector-ear/connector-sample-functional-tests/src/test/java/org/superbiz/moviefun/DeployInWebAppsDirectoryTest.java @@ -105,7 +105,7 @@ public class DeployInWebAppsDirectoryTest { configuration.setGroupId("org.apache.tomee"); configuration.setArtifactId("apache-tomee"); configuration.setClassifier("plus"); -configuration.setVersion("7.0.6-SNAPSHOT"); +configuration.setVersion("7.0.7-SNAPSHOT"); //configuration.setDebug(true); configuration.setHttpPort(-1);
[tomee] branch master updated: Fix several JMS/JMS2.0 bugs
This is an automated email from the ASF dual-hosted git repository. jfisher pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomee.git The following commit(s) were added to refs/heads/master by this push: new f56b2b2 Fix several JMS/JMS2.0 bugs f56b2b2 is described below commit f56b2b25a65b13472c6e6a02757cc2dc978c9953 Author: Jonathan S. Fisher AuthorDate: Mon Aug 26 20:09:10 2019 -0500 Fix several JMS/JMS2.0 bugs * Fix TOMEE-2229: JMSContext Injected by TomEE does not participate in JTA * Fix TOMEE-2650: TomEE Creating non-JTA Sessions * Fix TOMEE-2651: TomEE doesn't return JMS Connection to pool after a Transaction Timeout * Fix TOMEE-2652: TransactionSupport parameter not honored on JMS Connection Factory resources --- .../openejb/resource/AutoConnectionTracker.java| 26 ++-- .../openejb/resource/activemq/jms2/JMS2.java | 13 ++ .../resource/activemq/jms2/JMSContextImpl.java | 7 +- .../resource/activemq/jms2/JMSProducerImpl.java| 1 + .../activemq/jms2/TomEEConnectionFactory.java | 42 +-- .../activemq/jms2/TomEEManagedConnection.java | 10 +- .../jms2/TomEEManagedConnectionFactory.java| 45 ++- .../activemq/jms2/TomEEManagedConnectionProxy.java | 132 - .../activemq/jms2/TomEERAConnectionFactory.java| 108 - .../activemq/jms2/cdi/JMS2CDIExtension.java| 18 ++- 10 files changed, 360 insertions(+), 42 deletions(-) diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java index 49135c8..b5080ab 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java @@ -22,6 +22,7 @@ import org.apache.geronimo.connector.outbound.ConnectionReturnAction; import org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor; import org.apache.geronimo.connector.outbound.ManagedConnectionInfo; import org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTracker; +import org.apache.geronimo.transaction.manager.TransactionImpl; import org.apache.openejb.dyni.DynamicSubclass; import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.util.LogCategory; @@ -32,7 +33,6 @@ import javax.resource.ResourceException; import javax.resource.spi.DissociatableManagedConnection; import javax.transaction.Synchronization; import javax.transaction.SystemException; -import javax.transaction.Transaction; import javax.transaction.TransactionManager; import javax.transaction.TransactionSynchronizationRegistry; import java.lang.ref.PhantomReference; @@ -58,6 +58,7 @@ public class AutoConnectionTracker implements ConnectionTracker { private final TransactionManager txMgr; private final Logger logger = Logger.getInstance(LogCategory.OPENEJB_CONNECTOR, "org.apache.openejb.resource"); private final ConcurrentMap references = new ConcurrentHashMap<>(); +@SuppressWarnings("rawtypes") private final ReferenceQueue referenceQueue = new ReferenceQueue(); private final ConcurrentMap, Class> proxies = new ConcurrentHashMap<>(); private final ConcurrentMap, Class[]> interfaces = new ConcurrentHashMap<>(); @@ -80,6 +81,7 @@ public class AutoConnectionTracker implements ConnectionTracker { * @param connectionInfo the connection to be obtained * @param keythe unique id of the connection manager */ +@Override public void setEnvironment(final ConnectionInfo connectionInfo, final String key) { ProxyPhantomReference reference = (ProxyPhantomReference) referenceQueue.poll(); while (reference != null) { @@ -103,12 +105,14 @@ public class AutoConnectionTracker implements ConnectionTracker { * @param connectionInfo the connection that was obtained * @param reassociateshould always be false */ +@SuppressWarnings("unchecked") +@Override public void handleObtained(final ConnectionTrackingInterceptor interceptor, final ConnectionInfo connectionInfo, final boolean reassociate) throws ResourceException { if (txMgr != null && registry != null) { -Transaction currentTx = null; +TransactionImpl currentTx = null; try { -currentTx = txMgr.getTransaction(); -} catch (SystemException e) { +currentTx = (TransactionImpl) txMgr.getTransaction(); +} catch (SystemException | ClassCastException e) { //ignore } @@ -162,16 +166,18 @@ public class AutoConnectionTracker implements ConnectionTracker { * @param connectionInfo the connection that was released * @param action ignored */ +
buildbot success in on tomee-7.0.x-ubuntu
The Buildbot has detected a restored build on builder tomee-7.0.x-ubuntu while building tomee. Full details are available at: https://ci.apache.org/builders/tomee-7.0.x-ubuntu/builds/52 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_qnode7_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-tomee-7.0.x-ubuntu-commit' triggered this build Build Source Stamp: [branch tomee-7.0.x] 3780eb6008ea3369ab745d0c1d7af718664323be Blamelist: Jonathan S. Fisher Build succeeded! Sincerely, -The Buildbot
[tomee] branch tomee-7.0.x updated: Fix several JMS/JMS2.0 bugs
This is an automated email from the ASF dual-hosted git repository. jfisher pushed a commit to branch tomee-7.0.x in repository https://gitbox.apache.org/repos/asf/tomee.git The following commit(s) were added to refs/heads/tomee-7.0.x by this push: new 3780eb6 Fix several JMS/JMS2.0 bugs 3780eb6 is described below commit 3780eb6008ea3369ab745d0c1d7af718664323be Author: Jonathan S. Fisher AuthorDate: Mon Aug 26 20:09:10 2019 -0500 Fix several JMS/JMS2.0 bugs * Fix TOMEE-2229: JMSContext Injected by TomEE does not participate in JTA * Fix TOMEE-2650: TomEE Creating non-JTA Sessions * Fix TOMEE-2651: TomEE doesn't return JMS Connection to pool after a Transaction Timeout * Fix TOMEE-2652: TransactionSupport parameter not honored on JMS Connection Factory resources --- .../openejb/resource/AutoConnectionTracker.java| 26 ++-- .../openejb/resource/activemq/jms2/JMS2.java | 13 ++ .../resource/activemq/jms2/JMSContextImpl.java | 7 +- .../resource/activemq/jms2/JMSProducerImpl.java| 1 + .../activemq/jms2/TomEEConnectionFactory.java | 42 +-- .../activemq/jms2/TomEEManagedConnection.java | 10 +- .../jms2/TomEEManagedConnectionFactory.java| 45 ++- .../activemq/jms2/TomEEManagedConnectionProxy.java | 132 - .../activemq/jms2/TomEERAConnectionFactory.java| 108 - .../activemq/jms2/cdi/JMS2CDIExtension.java| 18 ++- 10 files changed, 360 insertions(+), 42 deletions(-) diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java index 49f891e..3064aec 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/AutoConnectionTracker.java @@ -22,6 +22,7 @@ import org.apache.geronimo.connector.outbound.ConnectionReturnAction; import org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor; import org.apache.geronimo.connector.outbound.ManagedConnectionInfo; import org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTracker; +import org.apache.geronimo.transaction.manager.TransactionImpl; import org.apache.openejb.dyni.DynamicSubclass; import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.util.LogCategory; @@ -32,7 +33,6 @@ import javax.resource.ResourceException; import javax.resource.spi.DissociatableManagedConnection; import javax.transaction.Synchronization; import javax.transaction.SystemException; -import javax.transaction.Transaction; import javax.transaction.TransactionManager; import javax.transaction.TransactionSynchronizationRegistry; import java.lang.ref.PhantomReference; @@ -58,6 +58,7 @@ public class AutoConnectionTracker implements ConnectionTracker { private final TransactionManager txMgr; private final Logger logger = Logger.getInstance(LogCategory.OPENEJB_CONNECTOR, "org.apache.openejb.resource"); private final ConcurrentMap references = new ConcurrentHashMap(); +@SuppressWarnings("rawtypes") private final ReferenceQueue referenceQueue = new ReferenceQueue(); private final ConcurrentMap, Class> proxies = new ConcurrentHashMap<>(); private final ConcurrentMap, Class[]> interfaces = new ConcurrentHashMap<>(); @@ -80,6 +81,7 @@ public class AutoConnectionTracker implements ConnectionTracker { * @param connectionInfo the connection to be obtained * @param keythe unique id of the connection manager */ +@Override public void setEnvironment(final ConnectionInfo connectionInfo, final String key) { ProxyPhantomReference reference = (ProxyPhantomReference) referenceQueue.poll(); while (reference != null) { @@ -103,12 +105,14 @@ public class AutoConnectionTracker implements ConnectionTracker { * @param connectionInfo the connection that was obtained * @param reassociateshould always be false */ +@SuppressWarnings("unchecked") +@Override public void handleObtained(final ConnectionTrackingInterceptor interceptor, final ConnectionInfo connectionInfo, final boolean reassociate) throws ResourceException { if (txMgr != null && registry != null) { -Transaction currentTx = null; +TransactionImpl currentTx = null; try { -currentTx = txMgr.getTransaction(); -} catch (SystemException e) { +currentTx = (TransactionImpl) txMgr.getTransaction(); +} catch (SystemException | ClassCastException e) { //ignore } @@ -166,16 +170,18 @@ public class AutoConnectionTracker implements ConnectionTracker { * @param connectionInfo the connection that was released * @param action ignored */