学习JBPM4.4
String taskUserName = taskService.getVariable("40001", "taskUserName").toString();
一。前面的是 ID ,后面的是变量
1. 当知道流程实例ID,也知道任务的变量时候,是拿不到任务变量的值的
2. 当知道任务实例ID,也知道流程的变量时候,是拿到任务变量的值的
3. 不同流程实例,不同任务的流程变量不能互相访问
说明了流程实例的变量作用范围比任务的变量要广
二。在流程部署xml里面,有EL表达式
1. 当任务还没有开始,修改EL表达式里面的值,是可以的修改成功的
2. 当任务结束之后,再修改EL表达式里面的值,是不可以修改成功的
3. EL表达式可以用${user.userName} 在java类里面把user对象放在Map里面即可
如果部署过程中报错,应该是由于user对象没有序列化
三。task 节点 和state的区别是 task可以做一些操作,state不需要操作,只需要一个动作即可
state节点的,是不会产生任务的,不通过ts.completeTask("10002");流转流程
需要用executionService.signalExecutionById(executionId);流转节点