Token token = pi.getRootToken();
Assert.assertSame(pd.getStartState(), token.getNode());
token.signal();
Assert.assertSame(pd.getNode("auditing"), token.getNode());
TaskInstance ti=pi.getTaskMgmtInstance().createTaskInstance(task, token);
ti.setActorId("boss");
jbpmContext().save(pi);
另外在processdefinition.xml里试过
<assignment actor-id="boss"></assignment>
和
<assignment class="AssignmentHandle"></assignment>
结果一样
JBPM_TASK的ACTORIDEXPRESSION_ = "boss"
但JBPM_TASKINSTANCE.ACTORID_为空
观察日志发现
Hibernate: insert into JBPM_TASKINSTANCE //先插表
AssignmentHandle execute //设置actor_id
Hibernate: insert into JBPM_PROCESSINSTANCE
后面没有JBPM_TASKINSTANCE 的更新操作,请玩过JBPM的老大指点一下,谢谢.
4 个解决方案
#1
我认为主要问题是taskInstance.setActorID()没有更新数据库,不知为何?
#2
jbpmContext关闭了吗?
#3
没有调用过jbpmContext.close()
#4
谢谢3楼,原来是没有调用过jbpmContext.close().
#1
我认为主要问题是taskInstance.setActorID()没有更新数据库,不知为何?
#2
jbpmContext关闭了吗?
#3
没有调用过jbpmContext.close()
#4
谢谢3楼,原来是没有调用过jbpmContext.close().