8 Replies Latest reply on Jan 25, 2007 4:27 PM by Edward Staub

    taskInstances aren't persisted when persist a processinstanc

    Juan Giovanolli Newbie

      Hi:
      i'm having a rare problem. when i persist a jbpm processinstance, the related taskinstances aren't persisted. the code is shown below:

      ProcessInstance pi = new ProcessInstance(SOME_PROCESS_DEFINITION);
      pi.getRootToken.signal();
      jbpmContext.save(pi);
      


      viewing the taskinstances collection of the taskmgmtinstance related with the processinstance through the display console of eclipse (god bless that thing), i view the taskinstance created, but is not persisted. Why? Any ideas?

        • 1. Re: taskInstances aren't persisted when persist a processins
          Ronald van Kuijk Master

          they are saved when the context is closed or when cmt is used the transaction is committed there.

          Ronald

          • 4. Re: taskInstances aren't persisted when persist a processins
            Juan Giovanolli Newbie

            ja ja ja

            Thanks for your "elaborated and very thinked" answer. jejejeej. i'm just kidding. you're right

            • 5. Re: taskInstances aren't persisted when persist a processins
              Juan Giovanolli Newbie

              okay, now i know what's cmt, jejejeje. but i still have a problem: i don't know yet how to force the saved of the taskinstances, because i need them in the database in the next sentence. can you help me with that?

              • 6. Re: taskInstances aren't persisted when persist a processins
                Edward Staub Expert

                Are you closing the context???? If you don't, it won't work.
                If you're using cmt, you still need to close the context to flush the cache, I think.

                -Ed Staub

                • 7. Re: taskInstances aren't persisted when persist a processins
                  Juan Giovanolli Newbie

                  i'm using the sentences in the order shown below, and i get the follow exception. any ideas???

                   jbpmContext.save(pi);
                   jbpmContext.close();
                  


                  org.jbpm.persistence.JbpmPersistenceException: couldn't flush hibernate session
                   at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:182)
                   at org.jbpm.svc.Services.close(Services.java:211)
                   at org.jbpm.JbpmContext.close(JbpmContext.java:139)
                   at com.santex.darwin.service.workflow.impl.WorkflowManagerImpl.save(WorkflowManagerImpl.java:364)
                   at com.santex.darwin.service.workflow.impl.WorkflowManagerImpl$$FastClassByCGLIB$$95ceb7e9.invoke(<generated>)
                   at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                   at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:55)
                   at org.jboss.seam.interceptors.OutcomeInterceptor.interceptOutcome(OutcomeInterceptor.java:21)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.RollbackInterceptor.rollbackIfNecessary(RollbackInterceptor.java:29)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.BijectionInterceptor.bijectNonreentrantComponent(BijectionInterceptor.java:79)
                   at org.jboss.seam.interceptors.BijectionInterceptor.bijectComponent(BijectionInterceptor.java:58)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:52)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.BusinessProcessInterceptor.manageBusinessProcessContext(BusinessProcessInterceptor.java:51)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.TransactionInterceptor$1.work(TransactionInterceptor.java:28)
                   at org.jboss.seam.util.Work.workInTransaction(Work.java:37)
                   at org.jboss.seam.interceptors.TransactionInterceptor.doInTransactionIfNecessary(TransactionInterceptor.java:23)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.ExceptionInterceptor.handleExceptions(ExceptionInterceptor.java:39)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.SynchronizationInterceptor.serialize(SynchronizationInterceptor.java:31)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:144)
                   at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
                   at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102)
                   at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:145)
                   at org.jboss.seam.intercept.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:80)
                   at com.santex.darwin.service.workflow.impl.WorkflowManagerImpl$$EnhancerByCGLIB$$6efe341c.save(<generated>)
                   at com.santex.darwin.example.WorkflowAdminHomeExample.addWorkflowInstance(WorkflowAdminHomeExample.java:58)
                   at com.santex.darwin.example.WorkflowAdminHomeExample$$FastClassByCGLIB$$135f4d0c.invoke(<generated>)
                   at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                   at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:55)
                   at org.jboss.seam.interceptors.OutcomeInterceptor.interceptOutcome(OutcomeInterceptor.java:21)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.RollbackInterceptor.rollbackIfNecessary(RollbackInterceptor.java:29)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.BijectionInterceptor.bijectNonreentrantComponent(BijectionInterceptor.java:79)
                   at org.jboss.seam.interceptors.BijectionInterceptor.bijectComponent(BijectionInterceptor.java:58)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:52)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.BusinessProcessInterceptor.manageBusinessProcessContext(BusinessProcessInterceptor.java:51)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.TransactionInterceptor$1.work(TransactionInterceptor.java:28)
                   at org.jboss.seam.util.Work.workInTransaction(Work.java:37)
                   at org.jboss.seam.interceptors.TransactionInterceptor.doInTransactionIfNecessary(TransactionInterceptor.java:23)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.ExceptionInterceptor.handleExceptions(ExceptionInterceptor.java:39)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.interceptors.SynchronizationInterceptor.serialize(SynchronizationInterceptor.java:31)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
                   at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                   at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:144)
                   at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
                   at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102)
                   at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:145)
                   at org.jboss.seam.intercept.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:80)
                   at com.santex.darwin.example.WorkflowAdminHomeExample$$EnhancerByCGLIB$$d2cea9df.addWorkflowInstance(<generated>)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129)
                   at org.jboss.seam.actionparam.ActionParamBindingHelper.invokeTheExpression(ActionParamBindingHelper.java:59)
                   at org.jboss.seam.actionparam.ActionParamMethodBinding.invoke(ActionParamMethodBinding.java:74)
                   at org.jboss.seam.core.Expressions$2.invoke(Expressions.java:102)
                   at org.jboss.seam.core.Pages.callAction(Pages.java:308)
                   at org.jboss.seam.core.Pages.enterPage(Pages.java:255)
                   at org.jboss.seam.jsf.AbstractSeamPhaseListener.enterPage(AbstractSeamPhaseListener.java:253)
                   at org.jboss.seam.jsf.AbstractSeamPhaseListener.beforeRender(AbstractSeamPhaseListener.java:202)
                   at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:53)
                   at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:70)
                   at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:373)
                   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                   at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:92)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                   at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                   at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                   at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                   at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75)
                   at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                   at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
                   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
                   at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
                   at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
                   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
                   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
                   at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
                   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
                   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
                   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
                   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
                   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                   at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
                   at java.lang.Thread.run(Thread.java:595)
                  Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.jbpm.taskmgmt.exe.TaskInstance
                   at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219)
                   at org.hibernate.type.EntityType.getIdentifier(EntityType.java:108)
                   at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:242)
                   at org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:482)
                   at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:3056)
                   at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:474)
                   at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:197)
                   at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:120)
                   at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
                   at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
                   at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
                   at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
                   at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:180)
                   ... 225 more
                  


                  • 8. Re: taskInstances aren't persisted when persist a processins
                    Edward Staub Expert

                    If you look at Services.save(), which is where the action happens, it reads:

                    public void save(ProcessInstance processInstance, JbpmContext jbpmContext) {
                     Iterator iter = saveOperations.iterator();
                     ...
                     while (iter.hasNext()) {
                     SaveOperation saveOperation = (SaveOperation) iter.next();
                     saveOperation.save(processInstance, jbpmContext);
                     }
                     }


                    The list of operations that it's using is set up here in the Services class:
                    defaultSaveOperations.add(new CheckUnpersistableVariablesOperation());
                     // first we save the runtime data (process instance)
                     defaultSaveOperations.add(new HibernateSaveOperation());
                     // then we insert the logs cause the logs can have references
                     // to the runtime data
                     defaultSaveOperations.add(new SaveLogsOperation());
                     defaultSaveOperations.add(new CascadeSaveOperation());


                    The nodes are saved in CheckUnpersistableVariablesOperation());

                    If you're setting the list of operations, you missed that one.
                    Otherwise, this may help you figure out where to look.
                    I'd definitely be debugging into the jBPM code if I were in your shoes.
                    It doesn't look like anyone else has seen it, although you're looking for a quick turnaround where occasional visitors to this forum may never have seen your post.
                    -Ed Staub