<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=thomas.risberg" rel="nofollow">Thomas Risberg</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-1384?redirect=false" rel="nofollow">SPR-1384</a></strong> and commented</p>
<p dir="auto">Deploy a MessageBean that is using BMT.  The following sequence of events in the onMessage() method will cause the IllegalStateException:</p>
<ol dir="auto">
<li>create TransactionTemplate with PROPAGATION_REQUIRED</li>
<li>in the execute do this:<br>
2a. Connection conn = DataSourceUtils.getConnection(ds);<br>
2b. DataSourceUtils.releaseConnection(conn, ds);<br>
2c. call method that does the following:<br>
I. create TransactionTemplate with PROPAGATION_REQUIRES_NEW<br>
II. call execute and the exception is thrown.</li>
</ol>
<p dir="auto">Here is the debug and stacktrace:</p>
<p dir="auto">12:03:50,703 INFO  [STDOUT] MyMessageBean got message!<br>
12:03:50,705 INFO  [STDOUT] // obtain DataSource<br>
12:03:50,707 INFO  [STDOUT] *** Create TransactionManager<br>
12:03:50,900 DEBUG [org.springframework.transaction.jta.JtaTransactionManager] Retrieving JTA UserTransaction from JNDI location [java:comp/UserTransaction]<br>
12:03:50,901 DEBUG [org.springframework.jndi.JndiTemplate] Looking up JNDI object with name [java:comp/UserTransaction]<br>
12:03:50,981 DEBUG [org.springframework.transaction.jta.JtaTransactionManager] Retrieving JTA TransactionManager from JNDI location [java:/TransactionManager]<br>
12:03:50,983 DEBUG [org.springframework.jndi.JndiTemplate] Looking up JNDI object with name [java:/TransactionManager]<br>
12:03:50,985 INFO  [org.springframework.transaction.jta.JtaTransactionManager] Using JTA UserTransaction: org.jboss.ejb.EnterpriseContext$UserTransactionImpl@66d882<br>
12:03:50,987 INFO  [org.springframework.transaction.jta.JtaTransactionManager] Using JTA TransactionManager: org.jboss.tm.TxManager@104e65<br>
12:03:50,988 INFO  [STDOUT] *** Create TransactionTemplate<br>
12:03:50,997 INFO  [STDOUT] *** Propagation=0<br>
12:03:51,005 DEBUG [org.springframework.transaction.jta.JtaTransactionManager] Using transaction object [org.springframework.transaction.jta.JtaTransactionObject@401ab1]<br>
12:03:51,007 DEBUG [org.springframework.transaction.jta.JtaTransactionManager] Creating new transaction with name [null]<br>
12:03:51,017 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] Initializing transaction synchronization<br>
12:03:51,026 INFO  [STDOUT] *** doInTransaction org.springframework.transaction.support.DefaultTransactionStatus@bc60f2<br>
12:03:51,056 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] Fetching JDBC Connection from DataSource<br>
12:03:53,260 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] Registering transaction synchronization for JDBC Connection<br>
12:03:53,419 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] Bound value [org.springframework.jdbc.datasource.ConnectionHolder@2900c9] for key [org.jboss.resource.adapter.jdbc.WrapperDataSource@bf2c98] to thread [JMS SessionPool Worker-0]<br>
12:03:53,420 INFO  [STDOUT] *** doInConnection<br>
12:03:53,420 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] Retrieved value [org.springframework.jdbc.datasource.ConnectionHolder@2900c9] for key [org.jboss.resource.adapter.jdbc.WrapperDataSource@bf2c98] bound to thread [JMS SessionPool Worker-0]<br>
12:03:53,421 INFO  [STDOUT] === Create TransactionTemplate 2<br>
12:03:53,422 INFO  [STDOUT] === Propagation=3<br>
12:03:53,424 DEBUG [org.springframework.transaction.jta.JtaTransactionManager] Using transaction object [org.springframework.transaction.jta.JtaTransactionObject@1548ee]<br>
12:03:53,424 DEBUG [org.springframework.transaction.jta.JtaTransactionManager] Suspending current transaction, creating new transaction with name [null]<br>
12:03:53,425 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] Removed value [org.springframework.jdbc.datasource.ConnectionHolder@2900c9] for key [org.jboss.resource.adapter.jdbc.WrapperDataSource@bf2c98] from thread [JMS SessionPool Worker-0]<br>
12:03:53,433 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] Clearing transaction synchronization<br>
12:03:53,438 DEBUG [org.springframework.transaction.support.TransactionTemplate] Initiating transaction rollback on application exception<br>
java.lang.IllegalStateException: Trying to change transaction TransactionImpl:XidImpl[FormatId=257, GlobalId=samoa.local/20, BranchQual=, localId=20] in enlist!<br>
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:551)<br>
at org.jboss.resource.connectionmanager.TxConnectionManager.transactionStarted(TxConnectionManager.java:357)<br>
at org.jboss.resource.connectionmanager.CachedConnectionManager.userTransactionStarted(CachedConnectionManager.java:403)<br>
at org.jboss.ejb.EnterpriseContext$UserTransactionImpl.begin(EnterpriseContext.java:576)<br>
at org.springframework.transaction.jta.JtaTransactionManager.doJtaBegin(JtaTransactionManager.java:664)<br>
at org.springframework.transaction.jta.JtaTransactionManager.doBegin(JtaTransactionManager.java:622)<br>
at org.springframework.transaction.support.AbstractPlatformTransactionManager.handleExistingTransaction(AbstractPlatformTransactionManager.java:320)<br>
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:262)<br>
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:111)<br>
at com.springdeveloper.ejb.MyMessageBean.testSpring2(MyMessageBean.java:95)<br>
at com.springdeveloper.ejb.MyMessageBean.access$100(MyMessageBean.java:24)<br>
at com.springdeveloper.ejb.MyMessageBean$1.doInTransactionWithoutResult(MyMessageBean.java:80)<br>
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)<br>
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:114)<br>
at com.springdeveloper.ejb.MyMessageBean.testSpring(MyMessageBean.java:71)<br>
at com.springdeveloper.ejb.MyMessageBean.onMessage(MyMessageBean.java:54)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:585)<br>
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)<br>
at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:475)<br>
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)<br>
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)<br>
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)<br>
at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:158)<br>
at org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT.invoke(MessageDrivenTxInterceptorBMT.java:32)<br>
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:101)<br>
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)<br>
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)<br>
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)<br>
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)<br>
at org.jboss.ejb.Container.invoke(Container.java:873)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1379)<br>
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)<br>
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904)<br>
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)<br>
at org.jboss.mq.SpySession.run(SpySession.java:333)<br>
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)<br>
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)<br>
at java.lang.Thread.run(Thread.java:613)<br>
12:03:53,447 DEBUG [org.springframework.transaction.jta.JtaTransactionManager] Triggering beforeCompletion synchronization<br>
12:03:53,448 ERROR [org.springframework.transaction.support.TransactionTemplate] Application exception overridden by rollback exception<br>
java.lang.IllegalStateException: Trying to change transaction TransactionImpl:XidImpl[FormatId=257, GlobalId=samoa.local/20, BranchQual=, localId=20] in enlist!<br>
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:551)<br>
at org.jboss.resource.connectionmanager.TxConnectionManager.transactionStarted(TxConnectionManager.java:357)<br>
at org.jboss.resource.connectionmanager.CachedConnectionManager.userTransactionStarted(CachedConnectionManager.java:403)<br>
at org.jboss.ejb.EnterpriseContext$UserTransactionImpl.begin(EnterpriseContext.java:576)<br>
at org.springframework.transaction.jta.JtaTransactionManager.doJtaBegin(JtaTransactionManager.java:664)<br>
at org.springframework.transaction.jta.JtaTransactionManager.doBegin(JtaTransactionManager.java:622)<br>
at org.springframework.transaction.support.AbstractPlatformTransactionManager.handleExistingTransaction(AbstractPlatformTransactionManager.java:320)<br>
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:262)<br>
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:111)<br>
at com.springdeveloper.ejb.MyMessageBean.testSpring2(MyMessageBean.java:95)<br>
at com.springdeveloper.ejb.MyMessageBean.access$100(MyMessageBean.java:24)<br>
at com.springdeveloper.ejb.MyMessageBean$1.doInTransactionWithoutResult(MyMessageBean.java:80)<br>
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)<br>
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:114)<br>
at com.springdeveloper.ejb.MyMessageBean.testSpring(MyMessageBean.java:71)<br>
at com.springdeveloper.ejb.MyMessageBean.onMessage(MyMessageBean.java:54)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:585)<br>
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)<br>
at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:475)<br>
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)<br>
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)<br>
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)<br>
at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:158)<br>
at org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT.invoke(MessageDrivenTxInterceptorBMT.java:32)<br>
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:101)<br>
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)<br>
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)<br>
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)<br>
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)<br>
at org.jboss.ejb.Container.invoke(Container.java:873)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1379)<br>
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)<br>
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904)<br>
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)<br>
at org.jboss.mq.SpySession.run(SpySession.java:333)<br>
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)<br>
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)<br>
at java.lang.Thread.run(Thread.java:613)<br>
12:03:53,461 INFO  [org.jboss.resource.connectionmanager.CachedConnectionManager] Closing a connection for you.  Please close them yourself: org.jboss.resource.adapter.jdbc.WrappedConnection@d698d3<br>
java.lang.Throwable: STACKTRACE<br>
at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:333)<br>
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:482)<br>
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:894)<br>
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:73)<br>
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:107)<br>
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)<br>
at com.springdeveloper.ejb.MyMessageBean$1.doInTransactionWithoutResult(MyMessageBean.java:76)<br>
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)<br>
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:114)<br>
at com.springdeveloper.ejb.MyMessageBean.testSpring(MyMessageBean.java:71)<br>
at com.springdeveloper.ejb.MyMessageBean.onMessage(MyMessageBean.java:54)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:585)<br>
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)<br>
at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:475)<br>
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)<br>
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)<br>
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)<br>
at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:158)<br>
at org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT.invoke(MessageDrivenTxInterceptorBMT.java:32)<br>
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:101)<br>
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)<br>
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)<br>
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)<br>
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)<br>
at org.jboss.ejb.Container.invoke(Container.java:873)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1379)<br>
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)<br>
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904)<br>
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)<br>
at org.jboss.mq.SpySession.run(SpySession.java:333)<br>
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)<br>
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)<br>
at java.lang.Thread.run(Thread.java:613)<br>
12:03:53,473 ERROR [org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT] Application error: BMT stateless bean MyMessageBean should complete transactions before returning (ejb1.1 spec, 11.6.1)<br>
12:03:53,478 ERROR [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Exception in JMSCI message listener<br>
javax.ejb.EJBException: null; CausedByException is:<br>
Application error: BMT stateless bean MyMessageBean should complete transactions before returning (ejb1.1 spec, 11.6.1)<br>
at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:411)<br>
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:196)<br>
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)<br>
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)<br>
at org.jboss.ejb.Container.invoke(Container.java:873)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1379)<br>
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)<br>
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904)<br>
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)<br>
at org.jboss.mq.SpySession.run(SpySession.java:333)<br>
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)<br>
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)<br>
at java.lang.Thread.run(Thread.java:613)<br>
java.rmi.RemoteException: Application error: BMT stateless bean MyMessageBean should complete transactions before returning (ejb1.1 spec, 11.6.1)<br>
at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.checkStatelessDone(AbstractTxInterceptorBMT.java:225)<br>
at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:165)<br>
at org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT.invoke(MessageDrivenTxInterceptorBMT.java:32)<br>
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:101)<br>
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)<br>
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)<br>
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)<br>
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)<br>
at org.jboss.ejb.Container.invoke(Container.java:873)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)<br>
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1379)<br>
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)<br>
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904)<br>
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)<br>
at org.jboss.mq.SpySession.run(SpySession.java:333)<br>
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)<br>
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)<br>
at java.lang.Thread.run(Thread.java:613)</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 1.2.5</p>
<p dir="auto"><strong>Issue Links:</strong></p>
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398089112" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/9591" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/9591/hovercard" href="https://github.com/spring-projects/spring-framework/issues/9591">#9591</a> CLONE -IllegalStateException thrown by JBoss 4.0.5.11 when PROPAGATION_REQUIRES_NEW used during active transaction in MessageBean with BMT (<em><strong>"is duplicated by"</strong></em>)</li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398082426" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/8755" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/8755/hovercard" href="https://github.com/spring-projects/spring-framework/issues/8755">#8755</a> PROPAGATION_REQUIRES_NEW fails on JBoss 4.2.1 when using Hibernate connection release mode "on_close"</li>
</ul>
<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=routis" rel="nofollow">Routis Haralampos</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-2239?redirect=false" rel="nofollow">SPR-2239</a></strong> and commented</p>
<p dir="auto">At ibiblio the last version that provides source code and proper maven2 poms is 1.2.7. Thus the migration of existing projects to newer versions of the spring framework require signigicant work</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 1.2.8, 2.0 M1, 2.0 M2, 2.0 M3, 2.0 M4, 2.0 M5, 2.0 RC1</p>
<p dir="auto"><strong>Issue Links:</strong></p>
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398071837" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/7392" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/7392/hovercard" href="https://github.com/spring-projects/spring-framework/issues/7392">#7392</a> Create and upload Maven Source and Javadoc Bundles for Spring 2.0 (<em><strong>"duplicates"</strong></em>)</li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398071855" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/7393" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/7393/hovercard" href="https://github.com/spring-projects/spring-framework/issues/7393">#7393</a> Create and upload Maven Source and Javadoc Bundles for Spring 1.2.9 (<em><strong>"duplicates"</strong></em>)</li>
</ul>
<p dir="auto">1 votes, 0 watchers</p>