[JBoss JIRA] Created: (JBPM-2337) CLONE -Support for external security systems
by fred g (JIRA)
CLONE -Support for external security systems
--------------------------------------------
Key: JBPM-2337
URL: https://jira.jboss.org/jira/browse/JBPM-2337
Project: JBoss jBPM
Issue Type: Bug
Components: Runtime Engine
Environment: NA
Reporter: fred g
Assignee: Tom Baeyens
Priority: Critical
Fix For: jBPM 3.2.2
Please change the readAssignmentDelegation method in org.jbpm.jpdl.xml.JpdlXmlReader to be the following.
The original method would ignore the class attribute assigned to swimlane assignments and default it to org.jbpm.identity.assignment.ExpressionAssignmentHandler
Thanks,
private Delegation readAssignmentDelegation(Element assignmentElement) {
Delegation assignmentDelegation = new Delegation();
String expression = assignmentElement.attributeValue("expression");
if (expression!=null) {
assignmentDelegation.setProcessDefinition(processDefinition);
String assignmentHandler = assignmentElement.attributeValue("class");
if (assignmentHandler != null){
assignmentDelegation.setClassName(assignmentHandler);
}
else{
assignmentDelegation.setClassName("org.jbpm.identity.assignment.ExpressionAssignmentHandler");
}
assignmentDelegation.setConfiguration("<expression>"+expression+"</expression>");
} else {
assignmentDelegation.read(assignmentElement, this);
}
return assignmentDelegation;
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 6 months
[JBoss JIRA] Created: (JBPM-2331) StaleObjectException on Timer execution.
by Phil Bingley (JIRA)
StaleObjectException on Timer execution.
----------------------------------------
Key: JBPM-2331
URL: https://jira.jboss.org/jira/browse/JBPM-2331
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.0.CR1
Environment: jBPM 4.0.CR1 in a Spring 2.5 application using the standard transaction model (not spring managed)
Reporter: Phil Bingley
A StaleObjectException is thrown on the flush of the ExecuteJobCmd execution. It appears that Hibernate is trying to update the Job record at flush time despite it having been deleted earlier in the transaction.
Adding a repeat to the timer definition means that the timer does not try to delete itself allowing the job to execute without an error.
ERROR:org.hibernate.event.def.AbstractFlushingEventListener Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.pvm.internal.job.TimerImpl#3]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1792)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2435)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2335)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2635)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
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:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.jbpm.pvm.internal.tx.HibernateSessionResource.prepare(HibernateSessionResource.java:54)
at org.jbpm.pvm.internal.tx.StandardTransaction.commit(StandardTransaction.java:106)
at org.jbpm.pvm.internal.tx.StandardTransaction.complete(StandardTransaction.java:65)
at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:61)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:54)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
at org.jbpm.pvm.internal.jobexecutor.JobExecutorThread.run(JobExecutorThread.java:63)
<process key="TimerTest" name="Timer Test">
<start name="thestart">
<transition to="wait"/>
</start>
<state name="wait">
<transition name="timeout" to="end">
<timer duedate="30 seconds"/>
</transition>
</state>
<end name="end"/>
</process>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 6 months
[JBoss JIRA] Created: (JBPM-2333) Failed to end ProcessInstance due to foreign key constraint in table 'jbpm4_execution`, CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `jbpm4_execution` (`DBID_`)
by steven wang (JIRA)
Failed to end ProcessInstance due to foreign key constraint in table 'jbpm4_execution`, CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `jbpm4_execution` (`DBID_`)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: JBPM-2333
URL: https://jira.jboss.org/jira/browse/JBPM-2333
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.0.CR1
Environment: MySQL 5.0.67-community-nt
Reporter: steven wang
When I try to end a process instance with DBID_ = 9, an exception as flows is thrown:
Hibernate:
/* delete org.jbpm.jpdl.internal.model.JpdlExecution */ delete
from
JBPM4_EXECUTION
where
DBID_=?
and DBVERSION_=?
[http-8080-Processor25] 19:24:49 ERROR (JDBCExceptionReporter.logExceptions:101) - Cannot delete or update a parent row: a foreign key constraint fails (`jbpm4_execution`, CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `jbpm4_execution` (`DBID_`))
[http-8080-Processor25] 19:24:49 ERROR (AbstractFlushingEventListener.performExecutions:324) - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: could not delete: [org.jbpm.jpdl.internal.model.JpdlExecution#9]
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.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:79)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:54)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.endProcessInstance(ExecutionServiceImpl.java:113)
...
The row to be deleted in table jbpm4_execution has data:
9, 'jpdl', 1, 'request_vacation', 'vacation2-1', b, '', '', 'vacation2.9', 'active-root', '', 0, 4, , 9, , ,
It seems column PROCESS_ has value 9 which self references current row with foreign key K_EXEC_INSTANCE.
but MySQL can not delete this row with SQL:
/* delete org.jbpm.jpdl.internal.model.JpdlExecution */ delete
from
JBPM4_EXECUTION
where
DBID_=?
and DBVERSION_=?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 6 months