Bonjour à tous

Je vous demande votre aide car j'ai remarqué quelques sujets sur JBPM sur vos forums (pendant mes recherches sur la cause de mon Exception), j'espère donc trouvé un début de réponse ici (voir un expert sur JBPM, on peut toujours espérer ^^)

Le souci vient d'un JBPM 3.1.2 sur un JBoss 4.0, le tout dans un Eclipse que quelqu'un a installé pour moi et dont je ne connais pas la moitié des plugins installés.

Quand je lance le scheduler de JBPM (en le mettant dans le web.xml, de cette façon

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<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>
J'ai cette exception (en boucle, ce qui me fait penser qu'elle vient bien du scheduler)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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(BaseWrapperManagedConn
ection.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 hiberna
te session
14:29:08,137 INFO  [STDOUT] 	at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceServ
ice.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(CommandExe
cutorThread.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.j
ava:170)
14:29:08,137 INFO  [STDOUT] 	at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceServ
ice.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=tr
ue
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.jdbcRol
lback(BaseWrapperManagedConnection.java:535)
14:29:08,137 INFO  [STDOUT] 	at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedCo
nnection.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.j
ava: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(BaseWrapperManagedConn
ection.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 {persist
ence=org.jbpm.persistence.JbpmPersistenceException: couldn't rollback hibernate session}
14:29:08,137 ERROR [SchedulerSession] org.hibernate.MappingException: Named query not known: Schedul
erSession.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.findTimersByDueDa
te
	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: Schedul
erSession.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(BaseWrapperManagedConn
ection.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.findTimersByDueDa
te
	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
J'avais cru trouvé la façon de résoudre le problème sur :
-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

Mais après application du patch, un rebuild sur ant et un redéploiement, toujours la même erreur.

Est ce que quelqu'un a déjà vu cette erreur ou aurait un début de piste pour régler le problème?

Merci d'avance et au revoir