Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 295 by
dalibor....@gmail.com: java.sql.SQLException: You cannot
set autocommit during a managed transaction!
http://code.google.com/p/flyway/issues/detail?id=295
Hi there,
I have simple EJB 3.1 Bean (Singleton, Startup) deployed inside JBoss 7.1.1
which performs migration. But I get following exception:
Caused by: com.googlecode.flyway.core.exception.FlywayException: Migration
failed !
at
com.googlecode.flyway.core.migration.DbMigrator.migrate(DbMigrator.java:165)
at com.googlecode.flyway.core.Flyway$1.execute(Flyway.java:608)
at com.googlecode.flyway.core.Flyway$1.execute(Flyway.java:591)
at com.googlecode.flyway.core.Flyway.execute(Flyway.java:882)
at com.googlecode.flyway.core.Flyway.migrate(Flyway.java:591)
at
ch.dvbern.stvbe.neskovaesn.service.FlywayMigration.startup(FlywayMigration.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[rt.jar:1.6.0_31]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[rt.jar:1.6.0_31]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[rt.jar:1.6.0_31]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_31]
at
org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:130)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:73)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:112)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228)
... 18 more
Caused by: com.googlecode.flyway.core.util.jdbc.TransactionException:
Error while executing transaction. Roll back failed!
at
com.googlecode.flyway.core.util.jdbc.TransactionTemplate.execute(TransactionTemplate.java:63)
at
com.googlecode.flyway.core.migration.DbMigrator.migrate(DbMigrator.java:113)
... 44 more
Caused by: java.sql.SQLException: You cannot set autocommit during a
managed transaction!
at
org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.setJdbcAutoCommit(BaseWrapperManagedConnection.java:888)
at
org.jboss.jca.adapters.jdbc.WrappedConnection.setAutoCommit(WrappedConnection.java:715)
at
com.googlecode.flyway.core.util.jdbc.TransactionTemplate.execute(TransactionTemplate.java:53)
... 45 more
Is there any way how to tell flyway that migration is performed in
container?
Thank you and best regards,
Dalibor Kalna