2 Replies Latest reply on Nov 10, 2010 5:23 AM by Michael Wohlfart

    JBPM4_EXECUTION and JBPM4_HISTACTINST table's primary key(DBID_) is getting duplicated

    Felix Jose Newbie

      Hi,

       

      I am facing a strange issue in my JBPM application.

      Here is my code:

       

      // Starts the WorkFlow.
              ProcessInstance processInstance = executionService
                      .startProcessInstanceByKey("ddrRequest");

       

              // Finds the Process Id for the particular WorkFlow.
              String processId = processInstance.getId();
              // Creates the WorkFlowDto with caseNo and Process Id.
              WorkFlowDto workFlowDto = this.createWorkFlowDto(ddrDto, processId);
              // Saves the WorkFlowDto in the WORKFLOW table.
              this.iWorkFlowDao.saveWorkFlow(workFlowDto);

       

      The processId and primary key of JBPM4_EXECUTION and HistoryActInstance table are getting duplicated and I am getting the ConstraintViolation Exception. In my JBPM4_EXECUTION table there is already a ID_(processId) ddrRequests.4700056 and its primary key DBID_ is 4700056. And when I am starting a new processinstance using

            executionService
                       .startProcessInstanceByKey("ddrRequest"); the processId generated is again ddrRequests.4700056 and DBID_ is  also 4700056 and so primary key constraintViolation exception I am getting. Sometimes the same issue is happening with historyActInstance table also.

       

      What can be the issue. Please give a quick resolution for this issue as our entire team is not able to do anything as we are not able to start the processInstance. Please help me. Its a critical issue for us......Please.

       

      Also I am attaching the stackTrace below:

       

      2010-11-09 16:46:12,423 (SpeaddLogger.java:67) ERROR com.jpmc.speadd - could not insert: [org.jbpm.pvm.internal.model.ExecutionImpl]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [org.jbpm.pvm.internal.model.ExecutionImpl]

                  org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:621)

                              org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)

                              org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:377)

                              org.springframework.orm.hibernate3.HibernateTemplate.flush(HibernateTemplate.java:809)

                              com.jpmc.speadd.application.daoimpl.WorkFlowDao.saveWorkFlow(WorkFlowDao.java:29)

                              sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                              sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                              sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                              java.lang.reflect.Method.invoke(Method.java:597)

                              org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

                              org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

                              org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

                              org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

                              $Proxy12.saveWorkFlow(Unknown Source)

                              com.jpmc.speadd.application.appserviceimpl.WorkFlow.startWorkFlow(WorkFlow.java:225)

                              sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                              sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                              sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                              java.lang.reflect.Method.invoke(Method.java:597)

                              org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

                              org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

                              org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

                              org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

                              $Proxy14.startWorkFlow(Unknown Source)

                              com.jpmc.speadd.application.bizserviceimpl.DdrEntry.CreateDDR(DdrEntry.java:177)

                              com.jpmc.speadd.application.bizserviceimpl.DdrEntry.CreateDDRFromUI(DdrEntry.java:144)

                              sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                              sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                              sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                              java.lang.reflect.Method.invoke(Method.java:597)

                              org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

                              org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

                              org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

                              org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

                              $Proxy48.CreateDDRFromUI(Unknown Source)

                              com.jpmc.speadd.web.ddrentry.controller.DdrEntryController.submitDDR(DdrEntryController.java:1156)

                              sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                              sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                              sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                              java.lang.reflect.Method.invoke(Method.java:597)

                              org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)

                              org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)

                              org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

                              sun.reflect.GeneratedMethodAccessor174.invoke(Unknown Source)

                              sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                              java.lang.reflect.Method.invoke(Method.java:597)

                              org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

                              org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:126)

                              org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

                              org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

                              $Proxy8.handleRequest(Unknown Source)

                              org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

                              org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)

                              org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)

                              org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)

                              org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)

                              javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

                              javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

                              org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

                              org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

                              com.jpmc.speadd.common.filter.SpeaddUserCheckFilter.doFilter(SpeaddUserCheckFilter.java:140)

                              org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

                              org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

                              org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

                              org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

                              org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

                              org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:210)

                              org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)

                              org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

                              org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

                              org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

                              org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)

                              org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)

                              org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)

                              java.lang.Thread.run(Thread.java:619)

       

      Thank you and regards,

      Felix K Jose