Community

Problem with stopping subProcesses (jbpm 4.3)

created by Daniel Schiller in jBPM - View the full discussion

Hi all,

 

i have a simple process including a subprocess. Now it might be necessary to stop the process using execution.end("stopped") when the subprocess is active. If i stop the subprocess first, the next activity after the subprocess-activity will be called. But i want to stop the process right where it is (means while executing the subprocess). So i tried to stop the main-process first. But in that case i retrieve the following error:

 

2010-06-17 08:59:07,595|WARN  | JDBCExceptionReporter | SQL Error: 2292, SQLState: 23000

2010-06-17 08:59:07,595|ERROR | JDBCExceptionReporter | ORA-02292: Integritäts-Constraint (JBPM.FK_EXEC_SUPEREXEC) verletzt - untergeordneter Datensatz gefunden ==> means: violation of constraint, found subordinated data <==

 

2010-06-17 08:59:07,595|ERROR | AbstractFlushingEventListener | Could not synchronize database state with session

org.hibernate.exception.ConstraintViolationException: could not delete: [org.jbpm.pvm.internal.model.ExecutionImpl#3860030]

    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)

    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

    at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2569)

    at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2725)

    at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:97)

    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)

    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)

    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:172)

    at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)

    at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64)

    at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:996)

    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1141)

    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)

    at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:835)

    at org.jbpm.pvm.internal.hibernate.DbSessionImpl.findProcessInstanceByIdIgnoreSuspended(DbSessionImpl.java:212)

    at org.jbpm.pvm.internal.hibernate.DbSessionImpl.deleteProcessInstance(DbSessionImpl.java:252)

    at org.jbpm.pvm.internal.model.ExecutionImpl.end(ExecutionImpl.java:382)

    at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)

    at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:54)

    at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)

    at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)

    at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)

    at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)

    at org.jbpm.pvm.internal.processengine.ProcessEngineImpl.execute(ProcessEngineImpl.java:300)

    at de.ingmbh.weblets.wm.service.services.ExecutionServiceImpl.endProcessInstance(ExecutionServiceImpl.java:202)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at junit.framework.TestCase.runTest(TestCase.java:154)

    at junit.framework.TestCase.runBare(TestCase.java:127)

    at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)

    at junit.framework.TestResult$1.protect(TestResult.java:106)

    at junit.framework.TestResult.runProtected(TestResult.java:124)

    at junit.framework.TestResult.run(TestResult.java:109)

    at junit.framework.TestCase.run(TestCase.java:118)

    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)

    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Caused by: java.sql.SQLException: ORA-02292: Integritäts-Constraint (JBPM.FK_EXEC_SUPEREXEC) verletzt - untergeordneter Datensatz gefunden

 

    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74)

    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:204)

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)

    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034)

    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)

    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)

    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)

    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387)

    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3468)

    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1062)

    at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2551)

    ... 41 more

 

Any suggestions?

 

Regards,

Daniel

Reply to this message by going to Community

Start a new discussion in jBPM at Community