PDA

View Full Version : jbpm3.1 about " couldn't commit hibernate session?"


gavinfiredrake
May 11th, 2006, 03:12 AM
add method in JbpmTemplate.java
*********************************************
public void saveTaskInstance(final TaskInstance taskinstance){

execute(new JbpmCallback() {

public Object doInJbpm(JbpmContext context) {
context.save(taskinstance);

return null;
}
});
}
*************************************************

modify :DbPersistenceService.java

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
comment
session.close();
connection.close();


$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $


my task case

****************************************


public void testfinishTaskinstance(){
JbpmTemplate m_template1 = (JbpmTemplate) ctx.getBean("jbpmTemplate");

List managerList = m_template1.findTaskInstances("manager");
System.out.println(managerList.size());
TaskInstance taskinstance = (TaskInstance)managerList.get(0);
JbpmTemplate m_template2 = (JbpmTemplate) ctx.getBean("jbpmTemplate");

m_template2.saveTaskInstance(taskinstance);


****************************************

gavinfiredrake
May 11th, 2006, 03:13 AM
Hibernate: select taskinstan0_.ID_ as ID1_40_, taskinstan0_.NAME_ as NAME3_40_, taskinstan0_.DESCRIPTION_ as DESCRIPT4_40_, taskinstan0_.ACTORID_ as ACTORID5_40_, taskinstan0_.CREATE_ as CREATE6_40_, taskinstan0_.START_ as START7_40_, taskinstan0_.END_ as END8_40_, taskinstan0_.DUEDATE_ as DUEDATE9_40_, taskinstan0_.PRIORITY_ as PRIORITY10_40_, taskinstan0_.ISCANCELLED_ as ISCANCE11_40_, taskinstan0_.ISSUSPENDED_ as ISSUSPE12_40_, taskinstan0_.ISOPEN_ as ISOPEN13_40_, taskinstan0_.ISSIGNALLING_ as ISSIGNA14_40_, taskinstan0_.ISBLOCKING_ as ISBLOCKING15_40_, taskinstan0_.TASK_ as TASK16_40_, taskinstan0_.TOKEN_ as TOKEN17_40_, taskinstan0_.SWIMLANINSTANCE_ as SWIMLAN18_40_, taskinstan0_.TASKMGMTINSTANCE_ as TASKMGM19_40_ from JBPM_TASKINSTANCE taskinstan0_ where taskinstan0_.ACTORID_=? and taskinstan0_.ISOPEN_=1
113
Hibernate: select taskmgmtin0_.ID_ as ID1_36_0_, taskmgmtin0_.PROCESSINSTANCE_ as PROCESSI3_36_0_, taskmgmtin0_.TASKMGMTDEFINITION_ as TASKMGMT4_36_0_ from JBPM_MODULEINSTANCE taskmgmtin0_ where taskmgmtin0_.ID_=? and taskmgmtin0_.CLASS_='T'
Hibernate: select processins0_.ID_ as ID1_33_0_, processins0_.VERSION_ as VERSION2_33_0_, processins0_.START_ as START3_33_0_, processins0_.END_ as END4_33_0_, processins0_.ISSUSPENDED_ as ISSUSPEN5_33_0_, processins0_.PROCESSDEFINITION_ as PROCESSD6_33_0_, processins0_.ROOTTOKEN_ as ROOTTOKEN7_33_0_, processins0_.SUPERPROCESSTOKEN_ as SUPERPRO8_33_0_ from JBPM_PROCESSINSTANCE processins0_ where processins0_.ID_=?
Hibernate: select instances0_.PROCESSINSTANCE_ as PROCESSI3_1_, instances0_.ID_ as ID1_1_, instances0_.NAME_ as NAME5_1_, instances0_.ID_ as ID1_36_0_, instances0_.PROCESSINSTANCE_ as PROCESSI3_36_0_, instances0_.TASKMGMTDEFINITION_ as TASKMGMT4_36_0_, instances0_.CLASS_ as CLASS2_36_0_ from JBPM_MODULEINSTANCE instances0_ where instances0_.PROCESSINSTANCE_=?
org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session
at org.jbpm.persistence.db.DbPersistenceService.close (DbPersistenceService.java:171)
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.sav eTaskInstance(JbpmTemplate.java:376)
at com.kingsoft.workflow.test.SpringTestDb.testfinish Taskinstance(SpringTestDb.java:58)
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 junit.framework.TestCase.runTest(TestCase.java:154 )
at junit.framework.TestCase.runBare(TestCase.java:127 )
at junit.framework.TestResult$1.protect(TestResult.ja va:106)
at junit.framework.TestResult.runProtected(TestResult .java:124)
at junit.framework.TestResult.run(TestResult.java:109 )
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.main(RemoteTestRunner.java:196)
Caused by: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
at org.hibernate.collection.AbstractPersistentCollect ion.setCurrentSession(AbstractPersistentCollection .java:410)
at org.hibernate.event.def.OnUpdateVisitor.processCol lection(OnUpdateVisitor.java:40)
at org.hibernate.event.def.AbstractVisitor.processVal ue(AbstractVisitor.java:101)
at org.hibernate.event.def.AbstractVisitor.processVal ue(AbstractVisitor.java:61)
at org.hibernate.event.def.AbstractVisitor.processEnt ityPropertyValues(AbstractVisitor.java:55)
at org.hibernate.event.def.AbstractVisitor.process(Ab stractVisitor.java:123)
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.performUpdate(DefaultSaveOrUpdateEventListe ner.java:267)
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.entityIsDetached(DefaultSaveOrUpdateEventLi stener.java:216)
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.performSaveOrUpdate(DefaultSaveOrUpdateEven tListener.java:93)
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.onSaveOrUpdate(DefaultSaveOrUpdateEventList ener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(Se ssionImpl.java:531)
at org.hibernate.impl.SessionImpl.saveOrUpdate(Sessio nImpl.java:523)
at org.hibernate.engine.CascadingAction$1.cascade(Cas cadingAction.java:134)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade. java:213)
at org.hibernate.engine.Cascade.cascadeAssociation(Ca scade.java:157)
at org.hibernate.engine.Cascade.cascadeProperty(Casca de.java:108)
at org.hibernate.engine.Cascade.cascadeCollectionElem ents(Cascade.java:290)
at org.hibernate.engine.Cascade.cascadeCollection(Cas cade.java:185)
at org.hibernate.engine.Cascade.cascadeAssociation(Ca scade.java:160)
at org.hibernate.engine.Cascade.cascadeProperty(Casca de.java:108)
at org.hibernate.engine.Cascade.cascade(Cascade.java: 248)
at org.hibernate.event.def.AbstractFlushingEventListe ner.cascadeOnFlush(AbstractFlushingEventListener.j ava:130)
at

gavinfiredrake
May 11th, 2006, 03:16 AM
if i don't comment " session.close; connection.close(); " in DbPersistenceService.java

it will make other error:


[@APPNAME@] ERROR [main] LazyInitializationException.<init>(19) | could not initialize proxy - the owning Session was closed
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
at org.hibernate.proxy.AbstractLazyInitializer.initia lize(AbstractLazyInitializer.java:56)
at org.hibernate.proxy.AbstractLazyInitializer.getImp lementation(AbstractLazyInitializer.java:98)
at org.hibernate.proxy.CGLIBLazyInitializer.intercept (CGLIBLazyInitializer.java:158)
at org.jbpm.taskmgmt.exe.TaskMgmtInstance$$EnhancerBy CGLIB$$e85acf97.getProcessInstance(<generated>)
at org.jbpm.JbpmContext.save(JbpmContext.java:297)
at org.springmodules.workflow.jbpm31.JbpmTemplate$15. doInJbpm(JbpmTemplate.java:379)
at org.springmodules.workflow.jbpm31.JbpmTemplate.exe cute(JbpmTemplate.java:90)
at org.springmodules.workflow.jbpm31.JbpmTemplate.sav eTaskInstance(JbpmTemplate.java:376)
at com.kingsoft.workflow.test.SpringTestDb.testfinish Taskinstance(SpringTestDb.java:49)
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 junit.framework.TestCase.runTest(TestCase.java:154 )
at junit.framework.TestCase.runBare(TestCase.java:127 )
at junit.framework.TestResult$1.protect(TestResult.ja va:106)
at junit.framework.TestResult.runProtected(TestResult .java:124)
at junit.framework.TestResult.run(TestResult.java:109 )
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRu nner.main(RemoteTestRunner.java:196)

Costin Leau
May 12th, 2006, 03:52 PM
gavin - search the forum and read the hibernate support from Spring (which is independent of Spring Modules jBPM). The tests contain example of setting up Hibernate and jBPM so you can use thread bound HB sessions and Spring application context inside jBPM.
More documentation and some samples will be included in the upcoming Spring Modules 0.4.

gavinfiredrake
May 12th, 2006, 11:12 PM
where i can get it!
i don't modify jbpm3.1 source code!
i find :when i use Jbpmtemplate method before ,i add jbpmTemplate.afterPropertiesSet() first;


but other error happend:
[@APPNAME@] ERROR [http-8080-Processor25] 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: Deadlock found when trying to get lock; 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

gavinfiredrake
May 12th, 2006, 11:18 PM
hello Costin
"
search the forum and read the hibernate support from Spring (which is independent of Spring Modules jBPM). The tests contain example of setting up Hibernate and jBPM so you can use thread bound HB sessions and Spring application context inside jBPM."

i can't find it could you tell me ? thanks !

Costin Leau
May 13th, 2006, 02:12 AM
In Spring Modules (https://springmodules.dev.java.net/) (that's where the forum has its name after all). The latest release 0.3 contains the jbpm packages (binaries and sources) - you can also retrieve the files from the CVS: https://springmodules.dev.java.net/source/browse/springmodules/

gavinfiredrake
May 14th, 2006, 10:49 PM
costin :
i think ,i havan't found good idea!
when i use junit test my code,i no problem!but in tomcat ,always get error!
when i finish task:

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