[jboss-user] [JBoss jBPM] - Exception on scheduler launch

Vlad Tepesch do-not-reply at jboss.com
Thu Dec 28 05:04:34 EST 2006


Hello

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 more

I 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 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3996601#3996601

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3996601



More information about the jboss-user mailing list