[JBoss JIRA] (JBTM-2449) SPI class ServerVMClientUserTransaction should be Serializable and Referenceable
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2449?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson commented on JBTM-2449:
-------------------------------------
Sure, I think that is a good idea to use the fixVersion that includes the module update.
> SPI class ServerVMClientUserTransaction should be Serializable and Referenceable
> --------------------------------------------------------------------------------
>
> Key: JBTM-2449
> URL: https://issues.jboss.org/browse/JBTM-2449
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: SPI
> Affects Versions: 5.1.1
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
> Fix For: 5.2.0
>
>
> This SPI class implements UserTransaction but does not follow the JNDI conventions. The JTA specification (section 3.1) says:
> bq. The implementation of the UserTransaction object must be both javax.naming.Referenceable and java.io.Serializable , so that the object can be stored in all JNDI naming contexts.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (JBTM-2449) SPI class ServerVMClientUserTransaction should be Serializable and Referenceable
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2449?page=com.atlassian.jira.plugin.... ]
Michael Musgrove commented on JBTM-2449:
----------------------------------------
The problem is that we do not have a separate project for the SPI and we use a narayana JIRA for tracking SPI changes. But sometimes (although rarely) we release the SPI for projects other than narayana (this JIRA is such an example).
The fix went into jboss-transaction:7.3.3.Final and the first narayana release that consumed that version was 5.3.5.Final so I an option would be to use that as the fix version field.
> SPI class ServerVMClientUserTransaction should be Serializable and Referenceable
> --------------------------------------------------------------------------------
>
> Key: JBTM-2449
> URL: https://issues.jboss.org/browse/JBTM-2449
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: SPI
> Affects Versions: 5.1.1
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
> Fix For: 5.2.0
>
>
> This SPI class implements UserTransaction but does not follow the JNDI conventions. The JTA specification (section 3.1) says:
> bq. The implementation of the UserTransaction object must be both javax.naming.Referenceable and java.io.Serializable , so that the object can be stored in all JNDI naming contexts.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (JBTM-2738) Upgrade jboss-transaction-spi dependency to 7.5.0.Final
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2738?page=com.atlassian.jira.plugin.... ]
Michael Musgrove closed JBTM-2738.
----------------------------------
Fix Version/s: 5.3.5.Final
(was: 5.next)
Resolution: Done
Fixed by commit 7907225
> Upgrade jboss-transaction-spi dependency to 7.5.0.Final
> -------------------------------------------------------
>
> Key: JBTM-2738
> URL: https://issues.jboss.org/browse/JBTM-2738
> Project: JBoss Transaction Manager
> Issue Type: Task
> Components: SPI
> Affects Versions: 5.3.4.Final
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
> Priority: Minor
> Fix For: 5.3.5.Final
>
>
> There is a new version of the jboss-transaction-spi which fixed a UserTransaction serialization issue. This change should not affect narayana (hence the minor priority leve) but we should be consuming the most recent release.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (JBTM-2738) Upgrade jboss-transaction-spi dependency to 7.5.0.Final
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2738?page=com.atlassian.jira.plugin.... ]
Michael Musgrove updated JBTM-2738:
-----------------------------------
Summary: Upgrade jboss-transaction-spi dependency to 7.5.0.Final (was: Upgrade jboss-transaction-spi dependency to 7.3.3.Final)
> Upgrade jboss-transaction-spi dependency to 7.5.0.Final
> -------------------------------------------------------
>
> Key: JBTM-2738
> URL: https://issues.jboss.org/browse/JBTM-2738
> Project: JBoss Transaction Manager
> Issue Type: Task
> Components: SPI
> Affects Versions: 5.3.4.Final
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
> Priority: Minor
> Fix For: 5.next
>
>
> There is a new version of the jboss-transaction-spi which fixed a UserTransaction serialization issue. This change should not affect narayana (hence the minor priority leve) but we should be consuming the most recent release.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (JBTM-2763) problem running with hibernate
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2763?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson edited comment on JBTM-2763 at 10/3/16 8:24 AM:
--------------------------------------------------------------
Hmm, actually I am not seeing this myself. I am using: https://github.com/jbosstm/quickstart/tree/master/jta-and-hibernate-stand...
I have installed ojdbc7 in my .m2 and then have the following diffs on top:
https://github.com/jbosstm/quickstart/compare/master...tomjenkinson:JBTM-...
I can't replicate the issue you are seeing but likely my HHH config is different to yours. Feel free to modify my example to show the error you are seeing or maybe try to move your config closer to mine.
I tried adding:
{code}
<property name="hibernate.connection.release_mode" value="${hibernate.connection.release_mode:AFTER_STATEMENT}"/>
{code}
To see it fail but I can't get it to fail there either.
I think it would be useful to open a discussion so others can benefit:
https://developer.jboss.org/en/jbosstm/content?filterID=contentstatus%5bp...
was (Author: tomjenkinson):
Hmm, actually I am not seeing this myself. I am using: https://github.com/jbosstm/quickstart/tree/master/jta-and-hibernate-stand...
I have installed ojdbc7 in my .m2 and then have the following diffs on top:
https://github.com/jbosstm/quickstart/compare/master...tomjenkinson:JBTM-...
I can't replicate the issue you are seeing but likely my HHH config is different to yours. Feel free to modify my example to show the error you are seeing or maybe try to move your config closer to mine.
I tried adding:
<code>
<property name="hibernate.connection.release_mode" value="${hibernate.connection.release_mode:AFTER_STATEMENT}"/>
<code>
To see it fail but I can't get it to fail there either.
I think it would be useful to open a discussion so others can benefit:
https://developer.jboss.org/en/jbosstm/content?filterID=contentstatus%5bp...
> problem running with hibernate
> ------------------------------
>
> Key: JBTM-2763
> URL: https://issues.jboss.org/browse/JBTM-2763
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTA
> Affects Versions: 5.3.5.Final
> Environment: Spring 4.3.3.RELEASE
> Hibernate 5.1.2.Final
> Narayana 5.3.5
> Not in an application server - running standalone spring app
> Reporter: davidkarlsen
>
> With the same libraries as above, except narayana 5.3.5 the following config worked just fine:
> {noformat}
> <bean id="abstractEntityManagerFactory" abstract="true" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" depends-on="cacheManagerFactoryBean">
> <property name="jpaVendorAdapter">
> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
> <property name="generateDdl" value="false" />
> <property name="showSql" value="${hibernate.showSql}" />
> <property name="database">
> <util:constant static-field="org.springframework.orm.jpa.vendor.Database.ORACLE" />
> </property>
> <property name="databasePlatform" value="${hibernate.dialect}" />
> </bean>
> </property>
> <property name="jpaProperties">
> <props>
> <!-- <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop> -->
> <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
> <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
> <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>
> <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>
> <prop key="hibernate.cache.use_structured_entries">${hibernate.cache.use_structured_entries}</prop>
> <prop key="hibernate.transaction.jta.platform">${hibernate.transaction.jta.platform:org.hibernate.engine.transaction.jta.platform.internal.JBossStandAloneJtaPlatform}</prop>
> <!-- release mode, see:
> https://developer.jboss.org/thread/221140
> http://docs.jboss.org/hibernate/stable/core.old/reference/en/html/transac...
> -->
> <prop key="hibernate.connection.release_mode">${hibernate.connection.release_mode:AFTER_STATEMENT}</prop>
> <prop key="hibernate.jdbc.use_get_generated_keys">${hibernate.jdbc.use_get_generated_keys}</prop>
> <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
> <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
> <prop key="hibernate.show_sql">${hibernate.showSql}</prop>
> <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
> <prop key="hibernate.use_sql_comments">${hibernate.use_sql_comments}</prop>
> </props>
> </property>
> </bean>
> {noformat}
> If I upgrade Narayana to 5.3.5 I consistently get:
> {noformat}
> java.sql.SQLSyntaxErrorException: ORA-02049: timeout: distributed transaction waiting for lock
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
> at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
> at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
> at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
> at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
> at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210)
> at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:30)
> at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:931)
> at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150)
> at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1792)
> at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1745)
> at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:334)
> at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at net.bull.javamelody.JdbcWrapper.doExecute(JdbcWrapper.java:404)
> at net.bull.javamelody.JdbcWrapper$StatementInvocationHandler.invoke(JdbcWrapper.java:129)
> at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:286)
> at com.sun.proxy.$Proxy143.execute(Unknown Source)
> at org.dbunit.database.statement.SimpleStatement.executeBatch(SimpleStatement.java:69)
> at org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:126)
> at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79)
> at com.github.springtestdbunit.DbUnitRunner.setupOrTeardown(DbUnitRunner.java:183)
> at com.github.springtestdbunit.DbUnitRunner.beforeTestMethod(DbUnitRunner.java:75)
> at com.github.springtestdbunit.DbUnitTestExecutionListener.beforeTestMethod(DbUnitTestExecutionListener.java:185)
> at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:269)
> at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
> at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
> at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
> at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
> at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.
> {noformat}
> If I leave hibernate.connection.release_mode to default (e.g. not specifying it) or after_transaction I get:
> {noformat}
> WARN com.arjuna.ats.jta - ARJUNA016029: SynchronizationImple.afterCompletion - failed for org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization@6811fa19 with exception
> 22:59:01 java.lang.NullPointerException: null
> 22:59:01 at com.arjuna.ats.internal.jdbc.ConnectionImple.getConnection(ConnectionImple.java:864)
> 22:59:01 at com.arjuna.ats.internal.jdbc.ConnectionImple.getWarnings(ConnectionImple.java:476)
> 22:59:01 at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
> 22:59:01 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 22:59:01 at java.lang.reflect.Method.invoke(Method.java:498)
> 22:59:01 at net.bull.javamelody.JdbcWrapper$ConnectionInvocationHandler.invoke(JdbcWrapper.java:189)
> 22:59:01 at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:286)
> 22:59:01 at com.sun.proxy.$Proxy116.getWarnings(Unknown Source)
> 22:59:01 at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:277)
> 22:59:01 at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:256)
> 22:59:01 at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:167)
> 22:59:01 at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.afterTransaction(LogicalConnectionManagedImpl.java:135)
> 22:59:01 at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransaction(JdbcCoordinatorImpl.java:296)
> 22:59:01 at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransactionCompletion(JdbcCoordinatorImpl.java:496)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.afterCompletion(JtaTransactionCoordinatorImpl.java:345)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.doAfterCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:60)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorTrackingImpl.afterCompletion(SynchronizationCallbackCoordinatorTrackingImpl.java:72)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.afterCompletion(RegisteredSynchronization.java:44)
> 22:59:01 at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96)
> 22:59:01 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:542)
> 22:59:01 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:101)
> 22:59:01 at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
> 22:59:01 at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1216)
> 22:59:01 at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
> 22:59:01 at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1023)
> 22:59:01 at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
> 22:59:01 at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:487)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> 22:59:01 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> 22:59:01 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
> 22:59:01 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> 22:59:01 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
> 22:59:01 at com.sun.proxy.$Proxy292.create(Unknown Source)
> 22:59:01 at
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (JBTM-2763) problem running with hibernate
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2763?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson commented on JBTM-2763:
-------------------------------------
Hmm, actually I am not seeing this myself. I am using: https://github.com/jbosstm/quickstart/tree/master/jta-and-hibernate-stand...
I have installed ojdbc7 in my .m2 and then have the following diffs on top:
https://github.com/jbosstm/quickstart/compare/master...tomjenkinson:JBTM-...
I can't replicate the issue you are seeing but likely my HHH config is different to yours. Feel free to modify my example to show the error you are seeing or maybe try to move your config closer to mine.
I tried adding: <property name="hibernate.connection.release_mode" value="${hibernate.connection.release_mode:AFTER_STATEMENT}"/>
To see it fail but I can't get it to fail there either.
I think it would be useful to open a discussion so others can benefit:
https://developer.jboss.org/en/jbosstm/content?filterID=contentstatus%5bp...
> problem running with hibernate
> ------------------------------
>
> Key: JBTM-2763
> URL: https://issues.jboss.org/browse/JBTM-2763
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTA
> Affects Versions: 5.3.5.Final
> Environment: Spring 4.3.3.RELEASE
> Hibernate 5.1.2.Final
> Narayana 5.3.5
> Not in an application server - running standalone spring app
> Reporter: davidkarlsen
>
> With the same libraries as above, except narayana 5.3.5 the following config worked just fine:
> {noformat}
> <bean id="abstractEntityManagerFactory" abstract="true" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" depends-on="cacheManagerFactoryBean">
> <property name="jpaVendorAdapter">
> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
> <property name="generateDdl" value="false" />
> <property name="showSql" value="${hibernate.showSql}" />
> <property name="database">
> <util:constant static-field="org.springframework.orm.jpa.vendor.Database.ORACLE" />
> </property>
> <property name="databasePlatform" value="${hibernate.dialect}" />
> </bean>
> </property>
> <property name="jpaProperties">
> <props>
> <!-- <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop> -->
> <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
> <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
> <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>
> <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>
> <prop key="hibernate.cache.use_structured_entries">${hibernate.cache.use_structured_entries}</prop>
> <prop key="hibernate.transaction.jta.platform">${hibernate.transaction.jta.platform:org.hibernate.engine.transaction.jta.platform.internal.JBossStandAloneJtaPlatform}</prop>
> <!-- release mode, see:
> https://developer.jboss.org/thread/221140
> http://docs.jboss.org/hibernate/stable/core.old/reference/en/html/transac...
> -->
> <prop key="hibernate.connection.release_mode">${hibernate.connection.release_mode:AFTER_STATEMENT}</prop>
> <prop key="hibernate.jdbc.use_get_generated_keys">${hibernate.jdbc.use_get_generated_keys}</prop>
> <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
> <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
> <prop key="hibernate.show_sql">${hibernate.showSql}</prop>
> <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
> <prop key="hibernate.use_sql_comments">${hibernate.use_sql_comments}</prop>
> </props>
> </property>
> </bean>
> {noformat}
> If I upgrade Narayana to 5.3.5 I consistently get:
> {noformat}
> java.sql.SQLSyntaxErrorException: ORA-02049: timeout: distributed transaction waiting for lock
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
> at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
> at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
> at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
> at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
> at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210)
> at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:30)
> at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:931)
> at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150)
> at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1792)
> at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1745)
> at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:334)
> at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at net.bull.javamelody.JdbcWrapper.doExecute(JdbcWrapper.java:404)
> at net.bull.javamelody.JdbcWrapper$StatementInvocationHandler.invoke(JdbcWrapper.java:129)
> at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:286)
> at com.sun.proxy.$Proxy143.execute(Unknown Source)
> at org.dbunit.database.statement.SimpleStatement.executeBatch(SimpleStatement.java:69)
> at org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:126)
> at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79)
> at com.github.springtestdbunit.DbUnitRunner.setupOrTeardown(DbUnitRunner.java:183)
> at com.github.springtestdbunit.DbUnitRunner.beforeTestMethod(DbUnitRunner.java:75)
> at com.github.springtestdbunit.DbUnitTestExecutionListener.beforeTestMethod(DbUnitTestExecutionListener.java:185)
> at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:269)
> at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
> at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
> at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
> at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
> at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.
> {noformat}
> If I leave hibernate.connection.release_mode to default (e.g. not specifying it) or after_transaction I get:
> {noformat}
> WARN com.arjuna.ats.jta - ARJUNA016029: SynchronizationImple.afterCompletion - failed for org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization@6811fa19 with exception
> 22:59:01 java.lang.NullPointerException: null
> 22:59:01 at com.arjuna.ats.internal.jdbc.ConnectionImple.getConnection(ConnectionImple.java:864)
> 22:59:01 at com.arjuna.ats.internal.jdbc.ConnectionImple.getWarnings(ConnectionImple.java:476)
> 22:59:01 at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
> 22:59:01 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 22:59:01 at java.lang.reflect.Method.invoke(Method.java:498)
> 22:59:01 at net.bull.javamelody.JdbcWrapper$ConnectionInvocationHandler.invoke(JdbcWrapper.java:189)
> 22:59:01 at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:286)
> 22:59:01 at com.sun.proxy.$Proxy116.getWarnings(Unknown Source)
> 22:59:01 at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:277)
> 22:59:01 at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:256)
> 22:59:01 at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:167)
> 22:59:01 at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.afterTransaction(LogicalConnectionManagedImpl.java:135)
> 22:59:01 at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransaction(JdbcCoordinatorImpl.java:296)
> 22:59:01 at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransactionCompletion(JdbcCoordinatorImpl.java:496)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.afterCompletion(JtaTransactionCoordinatorImpl.java:345)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.doAfterCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:60)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorTrackingImpl.afterCompletion(SynchronizationCallbackCoordinatorTrackingImpl.java:72)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.afterCompletion(RegisteredSynchronization.java:44)
> 22:59:01 at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96)
> 22:59:01 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:542)
> 22:59:01 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:101)
> 22:59:01 at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
> 22:59:01 at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1216)
> 22:59:01 at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
> 22:59:01 at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1023)
> 22:59:01 at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
> 22:59:01 at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:487)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> 22:59:01 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> 22:59:01 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
> 22:59:01 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> 22:59:01 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
> 22:59:01 at com.sun.proxy.$Proxy292.create(Unknown Source)
> 22:59:01 at
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (JBTM-2763) problem running with hibernate
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2763?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson edited comment on JBTM-2763 at 10/3/16 8:23 AM:
--------------------------------------------------------------
Hmm, actually I am not seeing this myself. I am using: https://github.com/jbosstm/quickstart/tree/master/jta-and-hibernate-stand...
I have installed ojdbc7 in my .m2 and then have the following diffs on top:
https://github.com/jbosstm/quickstart/compare/master...tomjenkinson:JBTM-...
I can't replicate the issue you are seeing but likely my HHH config is different to yours. Feel free to modify my example to show the error you are seeing or maybe try to move your config closer to mine.
I tried adding:
<code>
<property name="hibernate.connection.release_mode" value="${hibernate.connection.release_mode:AFTER_STATEMENT}"/>
<code>
To see it fail but I can't get it to fail there either.
I think it would be useful to open a discussion so others can benefit:
https://developer.jboss.org/en/jbosstm/content?filterID=contentstatus%5bp...
was (Author: tomjenkinson):
Hmm, actually I am not seeing this myself. I am using: https://github.com/jbosstm/quickstart/tree/master/jta-and-hibernate-stand...
I have installed ojdbc7 in my .m2 and then have the following diffs on top:
https://github.com/jbosstm/quickstart/compare/master...tomjenkinson:JBTM-...
I can't replicate the issue you are seeing but likely my HHH config is different to yours. Feel free to modify my example to show the error you are seeing or maybe try to move your config closer to mine.
I tried adding: <property name="hibernate.connection.release_mode" value="${hibernate.connection.release_mode:AFTER_STATEMENT}"/>
To see it fail but I can't get it to fail there either.
I think it would be useful to open a discussion so others can benefit:
https://developer.jboss.org/en/jbosstm/content?filterID=contentstatus%5bp...
> problem running with hibernate
> ------------------------------
>
> Key: JBTM-2763
> URL: https://issues.jboss.org/browse/JBTM-2763
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTA
> Affects Versions: 5.3.5.Final
> Environment: Spring 4.3.3.RELEASE
> Hibernate 5.1.2.Final
> Narayana 5.3.5
> Not in an application server - running standalone spring app
> Reporter: davidkarlsen
>
> With the same libraries as above, except narayana 5.3.5 the following config worked just fine:
> {noformat}
> <bean id="abstractEntityManagerFactory" abstract="true" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" depends-on="cacheManagerFactoryBean">
> <property name="jpaVendorAdapter">
> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
> <property name="generateDdl" value="false" />
> <property name="showSql" value="${hibernate.showSql}" />
> <property name="database">
> <util:constant static-field="org.springframework.orm.jpa.vendor.Database.ORACLE" />
> </property>
> <property name="databasePlatform" value="${hibernate.dialect}" />
> </bean>
> </property>
> <property name="jpaProperties">
> <props>
> <!-- <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop> -->
> <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
> <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
> <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>
> <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>
> <prop key="hibernate.cache.use_structured_entries">${hibernate.cache.use_structured_entries}</prop>
> <prop key="hibernate.transaction.jta.platform">${hibernate.transaction.jta.platform:org.hibernate.engine.transaction.jta.platform.internal.JBossStandAloneJtaPlatform}</prop>
> <!-- release mode, see:
> https://developer.jboss.org/thread/221140
> http://docs.jboss.org/hibernate/stable/core.old/reference/en/html/transac...
> -->
> <prop key="hibernate.connection.release_mode">${hibernate.connection.release_mode:AFTER_STATEMENT}</prop>
> <prop key="hibernate.jdbc.use_get_generated_keys">${hibernate.jdbc.use_get_generated_keys}</prop>
> <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
> <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
> <prop key="hibernate.show_sql">${hibernate.showSql}</prop>
> <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
> <prop key="hibernate.use_sql_comments">${hibernate.use_sql_comments}</prop>
> </props>
> </property>
> </bean>
> {noformat}
> If I upgrade Narayana to 5.3.5 I consistently get:
> {noformat}
> java.sql.SQLSyntaxErrorException: ORA-02049: timeout: distributed transaction waiting for lock
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
> at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
> at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
> at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
> at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
> at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210)
> at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:30)
> at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:931)
> at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150)
> at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1792)
> at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1745)
> at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:334)
> at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at net.bull.javamelody.JdbcWrapper.doExecute(JdbcWrapper.java:404)
> at net.bull.javamelody.JdbcWrapper$StatementInvocationHandler.invoke(JdbcWrapper.java:129)
> at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:286)
> at com.sun.proxy.$Proxy143.execute(Unknown Source)
> at org.dbunit.database.statement.SimpleStatement.executeBatch(SimpleStatement.java:69)
> at org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:126)
> at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79)
> at com.github.springtestdbunit.DbUnitRunner.setupOrTeardown(DbUnitRunner.java:183)
> at com.github.springtestdbunit.DbUnitRunner.beforeTestMethod(DbUnitRunner.java:75)
> at com.github.springtestdbunit.DbUnitTestExecutionListener.beforeTestMethod(DbUnitTestExecutionListener.java:185)
> at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:269)
> at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
> at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
> at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
> at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
> at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.
> {noformat}
> If I leave hibernate.connection.release_mode to default (e.g. not specifying it) or after_transaction I get:
> {noformat}
> WARN com.arjuna.ats.jta - ARJUNA016029: SynchronizationImple.afterCompletion - failed for org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization@6811fa19 with exception
> 22:59:01 java.lang.NullPointerException: null
> 22:59:01 at com.arjuna.ats.internal.jdbc.ConnectionImple.getConnection(ConnectionImple.java:864)
> 22:59:01 at com.arjuna.ats.internal.jdbc.ConnectionImple.getWarnings(ConnectionImple.java:476)
> 22:59:01 at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
> 22:59:01 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 22:59:01 at java.lang.reflect.Method.invoke(Method.java:498)
> 22:59:01 at net.bull.javamelody.JdbcWrapper$ConnectionInvocationHandler.invoke(JdbcWrapper.java:189)
> 22:59:01 at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:286)
> 22:59:01 at com.sun.proxy.$Proxy116.getWarnings(Unknown Source)
> 22:59:01 at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:277)
> 22:59:01 at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:256)
> 22:59:01 at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:167)
> 22:59:01 at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.afterTransaction(LogicalConnectionManagedImpl.java:135)
> 22:59:01 at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransaction(JdbcCoordinatorImpl.java:296)
> 22:59:01 at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransactionCompletion(JdbcCoordinatorImpl.java:496)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.afterCompletion(JtaTransactionCoordinatorImpl.java:345)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.doAfterCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:60)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorTrackingImpl.afterCompletion(SynchronizationCallbackCoordinatorTrackingImpl.java:72)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.afterCompletion(RegisteredSynchronization.java:44)
> 22:59:01 at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96)
> 22:59:01 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:542)
> 22:59:01 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:101)
> 22:59:01 at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
> 22:59:01 at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1216)
> 22:59:01 at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
> 22:59:01 at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1023)
> 22:59:01 at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
> 22:59:01 at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:487)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> 22:59:01 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> 22:59:01 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
> 22:59:01 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> 22:59:01 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
> 22:59:01 at com.sun.proxy.$Proxy292.create(Unknown Source)
> 22:59:01 at
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month
[JBoss JIRA] (JBTM-2763) problem running with hibernate
by davidkarlsen (JIRA)
[ https://issues.jboss.org/browse/JBTM-2763?page=com.atlassian.jira.plugin.... ]
davidkarlsen commented on JBTM-2763:
------------------------------------
Oracle driver: 12.1.0.2.0
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
CON_ID
----------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
0
PL/SQL Release 12.1.0.2.0 - Production
0
CORE 12.1.0.2.0 Production
0
BANNER
--------------------------------------------------------------------------------
CON_ID
----------
TNS for Linux: Version 12.1.0.2.0 - Production
0
NLSRTL Version 12.1.0.2.0 - Production
0
> problem running with hibernate
> ------------------------------
>
> Key: JBTM-2763
> URL: https://issues.jboss.org/browse/JBTM-2763
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTA
> Affects Versions: 5.3.5.Final
> Environment: Spring 4.3.3.RELEASE
> Hibernate 5.1.2.Final
> Narayana 5.3.5
> Not in an application server - running standalone spring app
> Reporter: davidkarlsen
>
> With the same libraries as above, except narayana 5.3.5 the following config worked just fine:
> {noformat}
> <bean id="abstractEntityManagerFactory" abstract="true" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" depends-on="cacheManagerFactoryBean">
> <property name="jpaVendorAdapter">
> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
> <property name="generateDdl" value="false" />
> <property name="showSql" value="${hibernate.showSql}" />
> <property name="database">
> <util:constant static-field="org.springframework.orm.jpa.vendor.Database.ORACLE" />
> </property>
> <property name="databasePlatform" value="${hibernate.dialect}" />
> </bean>
> </property>
> <property name="jpaProperties">
> <props>
> <!-- <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop> -->
> <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
> <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
> <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>
> <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>
> <prop key="hibernate.cache.use_structured_entries">${hibernate.cache.use_structured_entries}</prop>
> <prop key="hibernate.transaction.jta.platform">${hibernate.transaction.jta.platform:org.hibernate.engine.transaction.jta.platform.internal.JBossStandAloneJtaPlatform}</prop>
> <!-- release mode, see:
> https://developer.jboss.org/thread/221140
> http://docs.jboss.org/hibernate/stable/core.old/reference/en/html/transac...
> -->
> <prop key="hibernate.connection.release_mode">${hibernate.connection.release_mode:AFTER_STATEMENT}</prop>
> <prop key="hibernate.jdbc.use_get_generated_keys">${hibernate.jdbc.use_get_generated_keys}</prop>
> <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
> <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
> <prop key="hibernate.show_sql">${hibernate.showSql}</prop>
> <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
> <prop key="hibernate.use_sql_comments">${hibernate.use_sql_comments}</prop>
> </props>
> </property>
> </bean>
> {noformat}
> If I upgrade Narayana to 5.3.5 I consistently get:
> {noformat}
> java.sql.SQLSyntaxErrorException: ORA-02049: timeout: distributed transaction waiting for lock
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
> at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
> at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
> at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
> at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
> at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210)
> at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:30)
> at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:931)
> at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150)
> at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1792)
> at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1745)
> at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:334)
> at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at net.bull.javamelody.JdbcWrapper.doExecute(JdbcWrapper.java:404)
> at net.bull.javamelody.JdbcWrapper$StatementInvocationHandler.invoke(JdbcWrapper.java:129)
> at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:286)
> at com.sun.proxy.$Proxy143.execute(Unknown Source)
> at org.dbunit.database.statement.SimpleStatement.executeBatch(SimpleStatement.java:69)
> at org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:126)
> at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79)
> at com.github.springtestdbunit.DbUnitRunner.setupOrTeardown(DbUnitRunner.java:183)
> at com.github.springtestdbunit.DbUnitRunner.beforeTestMethod(DbUnitRunner.java:75)
> at com.github.springtestdbunit.DbUnitTestExecutionListener.beforeTestMethod(DbUnitTestExecutionListener.java:185)
> at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:269)
> at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
> at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
> at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
> at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
> at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.
> {noformat}
> If I leave hibernate.connection.release_mode to default (e.g. not specifying it) or after_transaction I get:
> {noformat}
> WARN com.arjuna.ats.jta - ARJUNA016029: SynchronizationImple.afterCompletion - failed for org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization@6811fa19 with exception
> 22:59:01 java.lang.NullPointerException: null
> 22:59:01 at com.arjuna.ats.internal.jdbc.ConnectionImple.getConnection(ConnectionImple.java:864)
> 22:59:01 at com.arjuna.ats.internal.jdbc.ConnectionImple.getWarnings(ConnectionImple.java:476)
> 22:59:01 at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
> 22:59:01 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 22:59:01 at java.lang.reflect.Method.invoke(Method.java:498)
> 22:59:01 at net.bull.javamelody.JdbcWrapper$ConnectionInvocationHandler.invoke(JdbcWrapper.java:189)
> 22:59:01 at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:286)
> 22:59:01 at com.sun.proxy.$Proxy116.getWarnings(Unknown Source)
> 22:59:01 at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:277)
> 22:59:01 at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:256)
> 22:59:01 at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:167)
> 22:59:01 at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.afterTransaction(LogicalConnectionManagedImpl.java:135)
> 22:59:01 at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransaction(JdbcCoordinatorImpl.java:296)
> 22:59:01 at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransactionCompletion(JdbcCoordinatorImpl.java:496)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.afterCompletion(JtaTransactionCoordinatorImpl.java:345)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorNonTrackingImpl.doAfterCompletion(SynchronizationCallbackCoordinatorNonTrackingImpl.java:60)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinatorTrackingImpl.afterCompletion(SynchronizationCallbackCoordinatorTrackingImpl.java:72)
> 22:59:01 at org.hibernate.resource.transaction.backend.jta.internal.synchronization.RegisteredSynchronization.afterCompletion(RegisteredSynchronization.java:44)
> 22:59:01 at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96)
> 22:59:01 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:542)
> 22:59:01 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:101)
> 22:59:01 at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
> 22:59:01 at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1216)
> 22:59:01 at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
> 22:59:01 at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1023)
> 22:59:01 at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
> 22:59:01 at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:487)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
> 22:59:01 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> 22:59:01 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> 22:59:01 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
> 22:59:01 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> 22:59:01 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
> 22:59:01 at com.sun.proxy.$Proxy292.create(Unknown Source)
> 22:59:01 at
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 1 month