Exception on scheduler launch
vladtepesch Dec 28, 2006 5:04 AMHello
First of all, sorry for my English, it's not my native language.
Now, the problem :
I'm using JBPM 3.1.2 with a JBoss 4.0 and I try to make a project on an Eclispe I haven't setup myself (so I don't really know wich plug in is installed).
When I try to laucnch the JBPM's Scheduler (using this code in my web.xml)
<servlet> <servlet-name>JbpmThreadsServlet</servlet-name> <servlet-class>org.jbpm.web.JbpmThreadsServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>JbpmThreadsServlet</servlet-name> <url-pattern>/threads</url-pattern> </servlet-mapping>
I receive exceptions on JBoss starting. (In fact, the exceptions appears in loop, so I think JBoss as start, and it's the scheduler which launch the Exception)
The exception threw is :
java.sql.SQLException: Can't call rollback when autocommit=true
at com.mysql.jdbc.Connection.rollback(Connection.java:4729)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:535)
at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:460)
at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:154)
at org.jbpm.svc.Services.close(Services.java:211)
at org.jbpm.JbpmContext.close(JbpmContext.java:139)
at org.jbpm.msg.command.CommandExecutorThread.executeCommand(CommandExecutorThread.java:139)
at org.jbpm.msg.command.CommandExecutorThread.run(CommandExecutorThread.java:79)
14:29:08,137 INFO [STDOUT] org.jbpm.persistence.JbpmPersistenceException: couldn't rollback hibernate session
14:29:08,137 INFO [STDOUT] at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:156)
14:29:08,137 INFO [STDOUT] at org.jbpm.svc.Services.close(Services.java:211)
14:29:08,137 INFO [STDOUT] at org.jbpm.JbpmContext.close(JbpmContext.java:139)
14:29:08,137 INFO [STDOUT] at org.jbpm.msg.command.CommandExecutorThread.executeCommand(CommandExecutorThread.java:139)
14:29:08,137 INFO [STDOUT] at org.jbpm.msg.command.CommandExecutorThread.run(CommandExecutorThread.java:79)
14:29:08,137 INFO [STDOUT] Caused by: org.hibernate.TransactionException: JDBC rollback failed
14:29:08,137 INFO [STDOUT] at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:170)
14:29:08,137 INFO [STDOUT] at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:154)
14:29:08,137 INFO [STDOUT] ... 4 more
14:29:08,137 INFO [STDOUT] Caused by: java.sql.SQLException: Can't call rollback when autocommit=true
14:29:08,137 INFO [STDOUT] at com.mysql.jdbc.Connection.rollback(Connection.java:4729)
14:29:08,137 INFO [STDOUT] at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:535)
14:29:08,137 INFO [STDOUT] at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:460)
14:29:08,137 INFO [STDOUT] at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
14:29:08,137 INFO [STDOUT] at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
14:29:08,137 INFO [STDOUT] ... 5 more
14:29:08,137 ERROR [Services] problem closing service 'persistence'
org.jbpm.persistence.JbpmPersistenceException: couldn't rollback hibernate session
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:156)
at org.jbpm.svc.Services.close(Services.java:211)
at org.jbpm.JbpmContext.close(JbpmContext.java:139)
at org.jbpm.msg.command.CommandExecutorThread.executeCommand(CommandExecutorThread.java:139)
at org.jbpm.msg.command.CommandExecutorThread.run(CommandExecutorThread.java:79)
Caused by: org.hibernate.TransactionException: JDBC rollback failed
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:170)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:154)
... 4 more
Caused by: java.sql.SQLException: Can't call rollback when autocommit=true
at com.mysql.jdbc.Connection.rollback(Connection.java:4729)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:535)
at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:460)
at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
... 5 more
14:29:08,137 ERROR [CommandExecutorThread] org.jbpm.JbpmException: problem closing services {persistence=org.jbpm.persistence.JbpmPersistenceException: couldn't rollback hibernate session}
14:29:08,137 ERROR [SchedulerSession] org.hibernate.MappingException: Named query not known: SchedulerSession.findTimersByDueDate
14:29:08,137 INFO [SchedulerThread] runtime exception while executing timers
org.jbpm.JbpmException: couldn't find timers from the database
at org.jbpm.db.SchedulerSession.findTimersByDueDate(SchedulerSession.java:88)
at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:106)
at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
Caused by: org.hibernate.MappingException: Named query not known: SchedulerSession.findTimersByDueDate
at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:70)
at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1260)
at org.jbpm.db.SchedulerSession.findTimersByDueDate(SchedulerSession.java:82)
... 2 more
14:29:13,129 ERROR [SchedulerSession] org.hibernate.MappingException: Named query not known: SchedulerSession.findTimersByDueDate
14:29:13,129 ERROR [JDBCTransaction] JDBC rollback failed
java.sql.SQLException: Can't call rollback when autocommit=true
at com.mysql.jdbc.Connection.rollback(Connection.java:4729)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:535)
at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:460)
at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:154)
at org.jbpm.svc.Services.close(Services.java:211)
at org.jbpm.JbpmContext.close(JbpmContext.java:139)
at org.jbpm.msg.command.CommandExecutorThread.executeCommand(CommandExecutorThread.java:139)
at org.jbpm.msg.command.CommandExecutorThread.run(CommandExecutorThread.java:79)
14:29:13,160 INFO [SchedulerThread] runtime exception while executing timers
org.jbpm.JbpmException: couldn't find timers from the database
at org.jbpm.db.SchedulerSession.findTimersByDueDate(SchedulerSession.java:88)
at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:106)
at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
Caused by: org.hibernate.MappingException: Named query not known: SchedulerSession.findTimersByDueDate
at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:70)
at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1260)
at org.jbpm.db.SchedulerSession.findTimersByDueDate(SchedulerSession.java:82)
... 2 moreI try to search about this on google and I find some patchs at :
-http://fisheye.jboss.org/viewrep/JBPM/jbpm.3/jpdl/jar/src/main/java/org/jbpm/persistence/db/DbPersistenceService.java?r1=1.4&r2=1.5
-http://jira.jboss.com/jira/secure/attachment/12312800/jbpm_session_already_closed_exception.patch
So, I patch my JBPM, rebuild the jar with ant but I always have this exceptions.
Did someone have a clue that can help me to find why this Exceptions is throwing ? (Or maybee just a method to set autocommit to false into a datasource file with the mysql driver ^^)
Thanks and goodbye