PDA

View Full Version : in Tomcat ,jbpm3.1 about spring will get error!


gavinfiredrake
May 14th, 2006, 11:45 PM
when i test code by junit ,it no problem!
but in tomcat
1:first start process it ok
2:second finish task will get error in :DbPersistenceService.java
transaction.commit();


Hibernate: insert into JBPM_LOG (INDEX_, DATE_, TOKEN_, PARENT_, TASKINSTANCE_, TASKACTORID_, CLASS_) values (?, ?, ?, ?, ?, ?, '1')
Hibernate: insert into JBPM_LOG (INDEX_, DATE_, TOKEN_, PARENT_, TASKINSTANCE_, TASKOLDACTORID_, TASKACTORID_, CLASS_) values (?, ?, ?, ?, ?, ?, ?, '2')
Hibernate: insert into JBPM_LOG (INDEX_, DATE_, TOKEN_, PARENT_, TASKINSTANCE_, TASKACTORID_, CLASS_) values (?, ?, ?, ?, ?, ?, '1')
Hibernate: update JBPM_TASKINSTANCE set NAME_=?, DESCRIPTION_=?, ACTORID_=?, CREATE_=?, START_=?, END_=?, DUEDATE_=?, PRIORITY_=?, ISCANCELLED_=?, ISSUSPENDED_=?, ISOPEN_=?, ISSIGNALLING_=?, ISBLOCKING_=?, TASK_=?, TOKEN_=?, SWIMLANINSTANCE_=?, TASKMGMTINSTANCE_=? where ID_=?
[@APPNAME@] WARN [http-8080-Processor23] JDBCExceptionReporter.logExceptions(71) | SQL Error: 1205, SQLState: HY000
[@APPNAME@] ERROR [http-8080-Processor23] JDBCExceptionReporter.logExceptions(72) | Lock wait timeout exceeded; try restarting transaction
[@APPNAME@] ERROR [http-8080-Processor23] AbstractFlushingEventListener.performExecutions(29 9) | Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledN onSpecificException(SQLStateConverter.java:91)
at org.hibernate.exception.SQLStateConverter.convert( SQLStateConverter.java:79)
at org.hibernate.exception.JDBCExceptionHelper.conver t(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(Ab stractBatcher.java:202)
at org.hibernate.jdbc.AbstractBatcher.prepareStatemen t(AbstractBatcher.java:91)
at org.hibernate.jdbc.AbstractBatcher.prepareStatemen t(AbstractBatcher.java:86)
at org.hibernate.persister.entity.AbstractEntityPersi ster.update(AbstractEntityPersister.java:2166)
at org.hibernate.persister.entity.AbstractEntityPersi ster.updateOrInsert(AbstractEntityPersister.java:2 118)
at org.hibernate.persister.entity.AbstractEntityPersi ster.update(AbstractEntityPersister.java:2374)
at org.hibernate.action.EntityUpdateAction.execute(En tityUpdateAction.java:84)
at org.hibernate.engine.ActionQueue.execute(ActionQue ue.java:243)
at org.hibernate.engine.ActionQueue.executeActions(Ac tionQueue.java:227)
at org.hibernate.engine.ActionQueue.executeActions(Ac tionQueue.java:141)
at org.hibernate.event.def.AbstractFlushingEventListe ner.performExecutions(AbstractFlushingEventListene r.java:296)
at org.hibernate.event.def.DefaultFlushEventListener. onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.j ava:1009)
at org.hibernate.impl.SessionImpl.managedFlush(Sessio nImpl.java:356)
at org.hibernate.transaction.JDBCTransaction.commit(J DBCTransaction.java:106)
at org.jbpm.persistence.db.DbPersistenceService.close (DbPersistenceService.java:161)
at org.jbpm.svc.Services.close(Services.java:211)
at org.jbpm.JbpmContext.close(JbpmContext.java:141)
at org.springmodules.workflow.jbpm31.JbpmTemplate.rel easeContext(JbpmTemplate.java:108)
at org.springmodules.workflow.jbpm31.JbpmTemplate.exe cute(JbpmTemplate.java:97)
at org.springmodules.workflow.jbpm31.JbpmTemplate.end TaskInstance(JbpmTemplate.java:421)
at com.kingsoft.workflow.impl.JbpmWorkflowService.fin ishTaskInstance(JbpmWorkflowService.java:144)
at com.kingsoft.kide.core.webapp.action.TFileinitForm DispatchAction.sendfileinit(TFileinitFormDispatchA ction.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.struts.actions.DispatchAction.dispatchM ethod(DispatchAction.java:276)
at org.apache.struts.actions.DispatchAction.execute(D ispatchAction.java:196)
at com.frame.criterion.webapp.action.BaseDispatchActi on.execute(BaseDispatchAction.java:134)
at org.apache.struts.action.RequestProcessor.processA ctionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:157)
at org.springframework.web.filter.CharacterEncodingFi lter.doFilterInternal(CharacterEncodingFilter.java :75)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invo keInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(Co yoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:793)
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:702)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(P oolTcpEndpoint.java:571)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.BatchUpdateException: Lock wait timeout exceeded; try restarting transaction
at com.mysql.jdbc.ServerPreparedStatement.executeBatc h(ServerPreparedStatement.java:828)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch( BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(Ab stractBatcher.java:195)
... 63 more

Costin Leau
May 17th, 2006, 05:36 PM
gavin, I'm not sure what your configuration is but if you read the exception you can see that you have a deadlock on the database. Also if you look at the stacktrace you'll notice that most of the code is part of the jbpm and hibernate - it has nothing to do with Spring Modules (in your case it just tries to close a connection and nothing more).
See where the deadlock comes from - if your tests work then your production and testing environment are not synchronized.

P.S. please, do not post the same message in different threads (cross-posting). thank you.