1 2 Previous Next 15 Replies Latest reply on Sep 20, 2006 10:28 AM by antitrust1982

    Multiinstances of the same process

    antitrust1982

      Hello all,

      As I said in an other article, I have create a portlet, and I want to know all the instance of my process in all my portlets instance. In order to do this I want to put in a list (for exemple) the processinstance Id, permit me to recall it if I want continu the execution of my process instance. But in order to do this I must put this list in a place readable by all portlet we use JBPM. somebody know how I must do this? I have to create myself an object in a database or JBPM permit this?

      thank you for your help

      antitrust1982

        • 1. Re: Multiinstances of the same process
          antitrust1982

          Hi all,

          I try to find how can i put myporcess list in a general place, but each time the context of each portlet seems to isolate each context and I can't find how can I have the processInstances which aren't finished in all my portlet.

          Somebody, can help me, have a way in order to do this? for now I have tried to put the current porcess instance in a list but I don't know how can I give to this other portlet, because I don't find a general place in order to be read by all the portlet.

          please help me

          thank you very mutch

          antitrust1982

          • 2. Re: Multiinstances of the same process
            jits_1998

            graphSession.findProcessInstances(processDefinitionId) ?

            this does not work for you?

            • 3. Re: Multiinstances of the same process
              antitrust1982

              Hi,
              I have tried to use "graphSession.findProcessInstances(pd.getId());" but when I execute this line and I try to get back the id of the porcess instance thanks to

              Collection processinstances=graphSession.findProcessInstances(pd.getId());
              
               Iterator itpro = processinstances.iterator();
               while(itpro.hasNext()){
               Long var1 = (Long)itpro.next();
               System.out.println("les elements de la collection de process sont : "+var1);
               }

              I haven't any porcessinstance print on my console.

              So I have thought that the processinstance weren't save so I have tried to use this methode: graphSession.saveProcessInstance(pi); but it doesn't work have an error.

              i must do anything special in order to save my processinstance. have i done anything that I mustn't ?

              this is the error:

              13:32:08,275 ERROR [com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher] Could not execute action
              java.lang.UnsupportedOperationException: use JbpmContext.save(ProcessInstance) instead
              at org.jbpm.db.GraphSession.saveProcessInstance(GraphSession.java:250)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.instantiate(CreateProcessInstanceAction.java:93)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.execute(CreateProcessInstanceAction.java:239)
              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 com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
              at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:217)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:191)
              at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:137)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.serviceAction(Jsr168Dispatcher.java:414)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.processAction(Jsr168Dispatcher.java:272)
              at com.liferay.portal.shared.servlet.PortletServlet.service(PortletServlet.java:77)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
              at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
              at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
              at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:289)
              at com.liferay.portlet.CachePortlet.processAction(CachePortlet.java:142)
              at com.liferay.portal.action.LayoutAction._processPortletRequest(LayoutAction.java:232)
              at com.liferay.portal.action.LayoutAction._processActionRequest(LayoutAction.java:250)
              at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:86)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:185)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
              at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:415)
              at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:810)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:91)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:131)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:112)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(LayoutCacheFilter.java:197)
              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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
              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.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
              at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
              at java.lang.Thread.run(Thread.java:595)
              13:32:08,291 ERROR [com.liferay.portal.shared.servlet.PortletServlet] Error executing action processInstance
              13:32:08,291 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/SimpleJBPM].[DECLARATIONSINISTRE]] "Servlet.se
              our la servlet DECLARATIONSINISTRE a lanc?® une exception
              javax.portlet.PortletException: Error executing action processInstance
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.serviceAction(Jsr168Dispatcher.java:427)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.processAction(Jsr168Dispatcher.java:272)
              at com.liferay.portal.shared.servlet.PortletServlet.service(PortletServlet.java:77)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
              at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
              at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
              at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:289)
              at com.liferay.portlet.CachePortlet.processAction(CachePortlet.java:142)
              at com.liferay.portal.action.LayoutAction._processPortletRequest(LayoutAction.java:232)
              at com.liferay.portal.action.LayoutAction._processActionRequest(LayoutAction.java:250)
              at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:86)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:185)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
              at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:415)
              at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:810)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:91)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:131)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:112)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(LayoutCacheFilter.java:197)
              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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
              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.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
              at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
              at java.lang.Thread.run(Thread.java:595)
              Caused by: java.lang.UnsupportedOperationException: use JbpmContext.save(ProcessInstance) instead
              at org.jbpm.db.GraphSession.saveProcessInstance(GraphSession.java:250)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.instantiate(CreateProcessInstanceAction.java:93)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.execute(CreateProcessInstanceAction.java:239)
              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 com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
              at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:217)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:191)
              at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:137)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.serviceAction(Jsr168Dispatcher.java:414)
              ... 49 more
              Nested Exception is
              java.lang.UnsupportedOperationException: use JbpmContext.save(ProcessInstance) instead
              at org.jbpm.db.GraphSession.saveProcessInstance(GraphSession.java:250)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.instantiate(CreateProcessInstanceAction.java:93)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.execute(CreateProcessInstanceAction.java:239)
              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 com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
              at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:217)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:191)
              at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:137)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.serviceAction(Jsr168Dispatcher.java:414)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.processAction(Jsr168Dispatcher.java:272)
              at com.liferay.portal.shared.servlet.PortletServlet.service(PortletServlet.java:77)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
              at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
              at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
              at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:289)
              at com.liferay.portlet.CachePortlet.processAction(CachePortlet.java:142)
              at com.liferay.portal.action.LayoutAction._processPortletRequest(LayoutAction.java:232)
              at com.liferay.portal.action.LayoutAction._processActionRequest(LayoutAction.java:250)
              at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:86)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:185)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
              at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:415)
              at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:810)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:91)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:131)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:112)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(LayoutCacheFilter.java:197)
              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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
              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.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
              at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
              at java.lang.Thread.run(Thread.java:595)
              13:32:08,384 ERROR [portal-web.docroot.html.common.error.jsp] Error executing action processInstance
              javax.portlet.PortletException: Error executing action processInstance
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.serviceAction(Jsr168Dispatcher.java:427)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.processAction(Jsr168Dispatcher.java:272)
              at com.liferay.portal.shared.servlet.PortletServlet.service(PortletServlet.java:77)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
              at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
              at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
              at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:289)
              at com.liferay.portlet.CachePortlet.processAction(CachePortlet.java:142)
              at com.liferay.portal.action.LayoutAction._processPortletRequest(LayoutAction.java:232)
              at com.liferay.portal.action.LayoutAction._processActionRequest(LayoutAction.java:250)
              at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:86)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:185)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
              at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:415)
              at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:810)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:91)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:131)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:112)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(LayoutCacheFilter.java:197)
              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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
              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.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
              at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
              at java.lang.Thread.run(Thread.java:595)
              Caused by: java.lang.UnsupportedOperationException: use JbpmContext.save(ProcessInstance) instead
              at org.jbpm.db.GraphSession.saveProcessInstance(GraphSession.java:250)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.instantiate(CreateProcessInstanceAction.java:93)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.execute(CreateProcessInstanceAction.java:239)
              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 com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
              at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:217)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:191)
              at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:137)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.serviceAction(Jsr168Dispatcher.java:414)
              ... 49 more

              Nested Exception is java.lang.UnsupportedOperationException: use JbpmContext.save(ProcessInstance) instead
              at org.jbpm.db.GraphSession.saveProcessInstance(GraphSession.java:250)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.instantiate(CreateProcessInstanceAction.java:93)
              at com.opensymphony.webwork.portlet.tutorial.CreateProcessInstanceAction.execute(CreateProcessInstanceAction.java:239)
              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 com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
              at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:217)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:191)
              at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:137)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
              at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:81)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
              at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
              at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.serviceAction(Jsr168Dispatcher.java:414)
              at com.opensymphony.webwork.portlet.dispatcher.Jsr168Dispatcher.processAction(Jsr168Dispatcher.java:272)
              at com.liferay.portal.shared.servlet.PortletServlet.service(PortletServlet.java:77)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
              at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
              at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
              at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:289)
              at com.liferay.portlet.CachePortlet.processAction(CachePortlet.java:142)
              at com.liferay.portal.action.LayoutAction._processPortletRequest(LayoutAction.java:232)
              at com.liferay.portal.action.LayoutAction._processActionRequest(LayoutAction.java:250)
              at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:86)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:185)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
              at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:415)
              at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:810)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:91)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:131)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:112)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
              at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(LayoutCacheFilter.java:197)
              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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
              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.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
              at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
              at java.lang.Thread.run(Thread.java:595)



              thank you for your help

              antitrust1982

              • 4. Re: Multiinstances of the same process
                antitrust1982

                I resolve the porblem with graphSession.saveProcessInstance(pi); by remplacing by jbpmContext.save(pi);.

                but the processinstance don't appear on my console as I haven't any processinstance. SO I have try to use is empty methode and I have this answer: is "true". but I have create a process instance just before... what I missed?

                this is my code:

                GraphSession graphSession = jbpmSession.getGraphSession();
                 TaskMgmtSession taskMgmtSession = jbpmSession.getTaskMgmtSession();
                 jbpmSession.beginTransaction();
                
                
                 System.out.println("creation d'une instance de process");
                 pi = new ProcessInstance(pd);
                 System.out.println("enregistrement du processinstance");
                 jbpmContext.save(pi);
                 System.out.println("PROCESS INSTANCE ID:"+ pi.getId());
                 jbpmContext.loadProcessInstanceForUpdate(pi.getId());
                
                 jbpmContext.save(pi);
                //UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUu
                 Collection processinstances=graphSession.findProcessInstances(pd.getId());
                 System.out.println("empty:" +processinstances.isEmpty());
                 Iterator itpro = processinstances.iterator();
                 while(itpro.hasNext()){
                 ProcessInstance processinstance =(ProcessInstance) itpro.next();
                
                 System.out.println("les elements de la collection de process sont : "+processinstance.getId());
                 }
                
                //uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
                


                If you see what I missed or have a solution to my probelm thank you to help me please

                antitrust1982

                • 5. Re: Multiinstances of the same process
                  aguizar

                  why do you use:

                  jbpmSession.beginTransaction();
                  ?

                  the JbpmSession is deprecated and superseded by the JbpmContext. The JbpmContext begins and ends the transaction for you as long as you close() it.

                  It also has methods to retrieve the named sessions (GraphSession, TaskMgmtSession, etc). You should not be using JbpmSession at all.

                  By the way, did you deploy your process definition before creating instances?

                  • 6. Re: Multiinstances of the same process
                    antitrust1982

                    First iI modify my code in order to delete the jbpmsession, I use now just the jbpmcontext.

                    For creating an processInstance I try to put just after a creation of process instance " Collection processinstances=graphSession.findProcessInstances(pd.getId());" but I have an error of transient unsave. SO I move my loop which return my process instances before. But I have 3 instances of portlets on my portal so I must have some porcess instances whne I execute it but my collection of process instances id is always empty...

                    how can I resolve it.

                    thank you for you help

                    antitrust1982

                    • 7. Re: Multiinstances of the same process
                      jits_1998

                      Post the console log and code for us to see.

                      Try and get only the relevant portion.

                      Also, are all the three instances actually saved in db? Can you do a "select * from jbpm_processinstance".

                      If this does not return anything, you can try closing the jbpmContext after saving the process instance and then open a new one to get the graph session and use this graphsession to search for process instances.

                      cheers!

                      • 8. Re: Multiinstances of the same process
                        antitrust1982

                        This is my file code:


                        public class CreateProcessInstanceAction extends ActionSupport{
                        
                        
                        ////////////////////////////////
                        
                         private String nameProcess;
                         private String currentNode;
                         TaskInstance taskinstance=null;
                        
                         static JbpmConfiguration jbpmConfiguration = null;
                         static ProcessDefinition processDefinition= null;
                         ProcessInstance pi= null;
                         JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();
                         Map session = (Map) ActionContext.getContext().get("session");
                         SwimlaneInstance si =null;
                         ExecutionContext ec=null;
                        
                         public void setNameProcess(String nameProcess) {
                         System.out.println("set NameProcess");
                         this.nameProcess = nameProcess;
                         }
                        
                         public String getNameProcess() {
                         System.out.println("get NameProcess");
                         return nameProcess;
                         }
                        
                         public void setCurrentNode(String currentNode) {
                         System.out.println("set currentNode");
                         this.currentNode = currentNode;
                         }
                        
                         public String getCurrentNode() {
                         System.out.println("get currentNode");
                         return currentNode;
                         }
                        
                        ////////////////////////////////
                        
                        
                         public Long instantiate(ProcessDefinition pd, String userId) {
                         Long instanceId = null;
                        
                         //initialisation du context
                        
                         GraphSession graphSession = jbpmContext.getGraphSession();
                         TaskMgmtSession taskMgmtSession = jbpmContext.getTaskMgmtSession();
                        
                        
                        // UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUu
                         Collection processinstances= graphSession.findProcessInstances(pd.getId());
                         System.out.println("porcess definition id:"+ pd.getId());
                         System.out.println("empty:" +processinstances.isEmpty());
                         Iterator itpro = processinstances.iterator();
                         while(itpro.hasNext()){
                         ProcessInstance processinstance =(ProcessInstance) itpro.next();
                        
                         System.out.println("les elements de la collection de process sont : "+processinstance.getId());
                         }
                        
                        //uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
                         System.out.println("creation d'une instance de process");
                         pi = new ProcessInstance(pd);
                         System.out.println("enregistrement du processinstance");
                         jbpmContext.save(pi);
                         System.out.println("PROCESS INSTANCE ID:"+ pi.getId());
                         jbpmContext.loadProcessInstanceForUpdate(pi.getId());
                         System.out.println("reload");
                        
                        
                        
                        
                        
                        
                        
                         System.out.println("creation des swimlanes");
                         Map swimlanes = pd.getTaskMgmtDefinition().getSwimlanes();
                         Iterator itr = swimlanes.keySet().iterator();
                        
                         while(itr.hasNext()) {
                         Swimlane swimlane = (Swimlane)swimlanes.get(itr.next());
                         System.out.println("SWIMLANE CREE:"+ swimlane.getName());
                         swimlane.setPooledActorsExpression("ernie");
                         ec= new ExecutionContext(pi.getRootToken());
                        
                         System.out.println("creation d'une nouvelle instance de swimlane");
                         SwimlaneInstance swi = pi.getTaskMgmtInstance().getInitializedSwimlaneInstance(ec, swimlane);
                        
                         if(swi.getName().equals("Assurimo")){
                         swi.setActorId("bert");
                         }
                        
                         Set pooledActors = swi.getPooledActors();
                         if(pooledActors != null) {
                         Iterator paItr = pooledActors.iterator();
                         while(paItr.hasNext()) {
                         ((PooledActor)paItr.next() ).setSwimlaneInstance(swi);
                         }
                         }
                         }
                         if (pd.getTaskMgmtDefinition().getStartTask() != null) {
                         org.jbpm.taskmgmt.def.Task task = pd.getTaskMgmtDefinition().getStartTask();
                         String swimlaneName = task.getSwimlane().getName();
                         SwimlaneInstance swi = pi.getTaskMgmtInstance().getSwimlaneInstance(swimlaneName);
                         String originalActorId = swi.getActorId();
                         Set originalPooledActors = swi.getPooledActors();
                        
                         TaskInstance startTask = pi.getTaskMgmtInstance().createStartTaskInstance();
                         System.out.println("task instance name: "+startTask.getName()+" of swimlane "+swi.getName());
                        
                        
                         startTask.setActorId(userId);
                        
                         if(startTask.getSwimlaneInstance() != null) {
                        
                         System.out.println("Actor assigné au swimlane: " + startTask.getSwimlaneInstance().getActorId());
                         si = startTask.getSwimlaneInstance();
                        
                         if (startTask.getSwimlaneInstance().getPooledActors() != null) {
                         System.out.println("startTask.getSwimlaneInstance().getPooledActors() != null");
                         System.out.println("Swimlane assigned pooled actor: " + ( (PooledActor)(startTask.getSwimlaneInstance().getPooledActors().iterator().next()) ).getActorId() );
                         }
                         }
                         }
                        
                         else {
                         System.out.println("################################else#########################################");
                         }
                        
                        
                         instanceId = Long.valueOf(pi.getId());
                        
                         System.out.println("trouver les process definition id ");
                        
                        
                        
                         return instanceId;
                         }
                        
                         @Override
                         public String execute() throws Exception {
                        
                         processDefinition = ProcessDefinition.parseXmlString(
                         "<process-definition name='DeclarationSinistre'>"+
                         "<swimlane name='FONCIA' >"+
                         "<assignment expression='user(bert)'/>"+
                         "</swimlane>"+
                        
                         "<swimlane name='Assurimo' >"+
                         "<assignment expression='user(ernie)'/>"+
                         "</swimlane>"+
                        
                        
                         "<start-state name='start' end-tasks = 'true' >"+
                         "<task swimlane='FONCIA'>"+
                         "</task>"+
                         "<transition name='' to='DeclarationSinistre'>"+"</transition>"+
                         "</start-state>"+
                        
                         "<end-state name='end'>"+"</end-state>"+
                        
                         "<task-node name='DeclarationSinistre' end-tasks = 'true' >"+
                         "<task swimlane='FONCIA'>"+
                         "</task>"+
                         "<transition name='' to='EnregistrementSinistre'>"+"</transition>"+
                         "</task-node>"+
                        
                         "<task-node name='EnregistrementSinistre' end-tasks = 'true' >"+
                         "<task swimlane='Assurimo'>"+
                         "</task>"+
                         "<transition name='' to='ControlePrime'>"+"</transition>"+
                         "</task-node>"+
                        
                         "<task-node name='ControlePrime' end-tasks = 'true' >"+
                         "<task swimlane='Assurimo'>"+
                         "</task>"+
                         "<transition name='' to='end'>"+"</transition>"+
                         "</task-node>"+
                         "</process-definition>"
                         );
                        
                        
                         jbpmConfiguration = JbpmConfiguration.parseXmlString(
                         "<jbpm-configuration>" +
                        
                         " <jbpm-context>" +
                         " <service name='persistence' " +
                         " factory='org.jbpm.persistence.db.DbPersistenceServiceFactory' />" +
                         " </jbpm-context>" +
                        
                         " <string name='resource.hibernate.cfg.xml' " +
                         " value='hibernate.cfg.xml' />" +
                         " <string name='resource.business.calendar' " +
                         " value='org/jbpm/calendar/jbpm.business.calendar.properties' />" +
                         " <string name='resource.default.modules' " +
                         " value='org/jbpm/graph/def/jbpm.default.modules.properties' />" +
                         " <string name='resource.converter' " +
                         " value='org/jbpm/db/hibernate/jbpm.converter.properties' />" +
                         " <string name='resource.action.types' " +
                         " value='org/jbpm/graph/action/action.types.xml' />" +
                         " <string name='resource.node.types' " +
                         " value='org/jbpm/graph/node/node.types.xml' />" +
                         " <string name='resource.varmapping' " +
                         " value='org/jbpm/context/exe/jbpm.varmapping.xml' />" +
                         "</jbpm-configuration>"
                         );
                        
                         jbpmContext.setActorId("ernie");
                        
                         Long longVariable = instantiate(processDefinition, "ernie");
                         System.out.println("instance Id retournée : "+longVariable);
                         try{
                         Token token = pi.getRootToken();
                        
                         System.out.println("jbpmcontext actor : "+jbpmContext.getActorId());
                        
                         nameProcess=pi.getProcessDefinition().getName();
                        
                         System.out.println("les taches non finies sont:");
                         Collection taskinstances = (Collection) pi.getTaskMgmtInstance().getUnfinishedTasks(token);
                         Iterator itr1 = taskinstances.iterator();
                         while(itr1.hasNext()) {
                         taskinstance=(TaskInstance)itr1.next();
                        
                         if("ernie"==taskinstance.getActorId()){
                         System.out.println("Pour ERNIE :................"+taskinstance.getName());
                         System.out.println("ID de la taskinstance"+taskinstance.getId());
                         taskinstance.end();
                         System.out.println("tache finie:.........."+taskinstance.hasEnded());
                         }
                        
                         else if("bert"==taskinstance.getActorId()){
                         System.out.println("Pour BERT :...................."+taskinstance.getName());
                         }
                        
                         else{
                         System.out.println("Les autres taches sont :"+taskinstance.getName()+" et sont allouées à"+taskinstance.getActorId());
                         taskinstance.getSwimlaneInstance().setActorId("bert");
                         System.out.println("Changement effectué.. the task is :"+taskinstance.getName()+" to the user "+taskinstance.getActorId());
                        
                         }
                         }
                        
                         token.signal();
                         System.out.println("finie? : "+token.hasEnded());
                         currentNode=token.getNode().getName();
                         System.out.println("noeud courant:"+currentNode);
                         this.setCurrentNode(currentNode);
                        
                         this.setNameProcess(nameProcess);
                        
                         jbpmContext.save(pi);
                        
                        
                        
                         Map session = (Map) ActionContext.getContext().get("session");
                         session.put("process",pi);
                         session.put("jbpmContext",jbpmContext);
                         session.put("processName",nameProcess);
                         session.put("processDefiniton",processDefinition);
                         session.put("ec",ec);
                         session.put("si",si);
                         session.put("token",token);
                         session.put("Idpi",pi.getId());
                        
                         }
                        
                         finally {
                         }
                         return SUCCESS;
                         }
                        }


                        this is my log console (i have execute two instances of portlets):


                        .
                        porcess definition id:0
                        empty:true
                        creation d'une instance de process
                        enregistrement du processinstance
                        PROCESS INSTANCE ID:1577
                        reload
                        creation des swimlanes
                        SWIMLANE CREE:FONCIA
                        creation d'une nouvelle instance de swimlane
                        SWIMLANE CREE:Assurimo
                        creation d'une nouvelle instance de swimlane
                        task instance name: start of swimlane FONCIA
                        Actor assign?® au swimlane: ernie
                        trouver les process definition id
                        instance Id retourn?®e : 1577
                        jbpmcontext actor : ernie
                        les taches non finies sont:
                        Pour ERNIE :................start
                        ID de la taskinstance1522
                        tache finie:..........true
                        finie? : false
                        noeud courant:EnregistrementSinistre
                        set currentNode
                        set NameProcess
                        #### execute
                        firstNAmle : null
                        #### execute
                        firstNAmle : null
                        get currentNode
                        porcess definition id:0
                        empty:true
                        creation d'une instance de process
                        enregistrement du processinstance
                        PROCESS INSTANCE ID:1578
                        reload
                        creation des swimlanes
                        SWIMLANE CREE:FONCIA
                        creation d'une nouvelle instance de swimlane
                        SWIMLANE CREE:Assurimo
                        creation d'une nouvelle instance de swimlane
                        task instance name: start of swimlane FONCIA
                        Actor assign?® au swimlane: ernie
                        trouver les process definition id
                        instance Id retourn?®e : 1578
                        jbpmcontext actor : ernie
                        les taches non finies sont:
                        Pour ERNIE :................start
                        ID de la taskinstance1525
                        tache finie:..........true
                        finie? : false
                        noeud courant:EnregistrementSinistre
                        set currentNode
                        set NameProcess
                        #### execute
                        firstNAmle : null
                        get currentNode
                        get currentNode


                        • 9. Re: Multiinstances of the same process
                          jits_1998

                          Looking at the code it appears, as alex pointed out, you have not deployed the process definition.

                          • 10. Re: Multiinstances of the same process
                            antitrust1982

                            How can I deploy it?? when I do "pi = new ProcessInstance(pd);" I create an instance of my porcess definition so I thought that I deployed it.

                            • 11. Re: Multiinstances of the same process
                              antitrust1982

                              ok I found the function jbpmContext.deployProcessDefinition(pd);, but It no resolve my problem because I create a processdefinition for each instance of my portlet but I want just one Instance of my porcess definition instance. In order to have all the porcessInstance

                              • 12. Re: Multiinstances of the same process
                                jits_1998

                                Well if the process definition is different for each of the portlets then you cannot get the instances.

                                Ideally, you should deploy the process definition and each of your portlets should be creating an instace of the definition, then after saving the process instances created by the portlets, each portlet will be able to look up the instances created by other portlets.

                                • 13. Re: Multiinstances of the same process
                                  antitrust1982

                                  yes but i must execute my process by lot of poeple who are very differnete client of a compagny, then a secretary, a manager and I will not take each person in order to do each work on the same computer. So I want to create an isntance of process and execute by different instances of portlets.

                                  Now I run my code with my deployement of processdefinition for each portlet. But when the file is executed I haven't any processdefiniton in my db. have I missed anything in order to save in the database?



                                  • 14. Re: Multiinstances of the same process
                                    antitrust1982

                                    I found the error: that is I missed to collse the context : jbpmContext.close();. Now I have my porcess definition instance

                                    1 2 Previous Next