请看代码: //得到JbpmContext对象
JbpmContext jbpmContext = getJbpmContext();
ProcessInstance pi = jbpmContext.getProcessInstance(processInstanceId);
//当前节点
String currentNodeName = pi.getRootToken().getNode().getName();
//起点的名称
String startNodeName = pi.getProcessDefinition().getStartState().getName();
Collection<Transition> transitions = null;
//若在起始节点
if (startNodeName.equals(currentNodeName)) { /*
* 我本意是想得到起始节点的下一步流向,但始终得不到,
* 下面的打印语句可以正常打印出开始节点的名称“start".
* 我可以确保我的流程定义和此方法传进来的参数没有问题。
*
*/
transitions = pi.getRootToken().getAvailableTransitions();
System.out.println(pi.getRootToken().getNode().getName());
} else {
。。
流程定义的xml文件<?xml version="1.0" encoding="UTF-8"?><process-definition xmlns="" name="documentTest">
<start-state name="start">
<transition to="step1"></transition>
</start-state>
<task-node name="step1">
<task name="step1">
<assignment actor-id="ss"></assignment>
</task>
<transition to="step2"></transition>
</task-node> <task-node name="step2">
<task name="step2">
<assignment actor-id="cs"></assignment>
</task>
<transition to="step3"></transition>
</task-node> <task-node name="step3">
<task name="step3">
<assignment actor-id="zyy"></assignment>
</task>
<transition to="end"></transition>
</task-node>
<end-state name="end"></end-state>
</process-definition>希望大家能帮忙看下,谢谢!
一旦解决,马上给分!
JbpmContext jbpmContext = getJbpmContext();
ProcessInstance pi = jbpmContext.getProcessInstance(processInstanceId);
//当前节点
String currentNodeName = pi.getRootToken().getNode().getName();
//起点的名称
String startNodeName = pi.getProcessDefinition().getStartState().getName();
Collection<Transition> transitions = null;
//若在起始节点
if (startNodeName.equals(currentNodeName)) { /*
* 我本意是想得到起始节点的下一步流向,但始终得不到,
* 下面的打印语句可以正常打印出开始节点的名称“start".
* 我可以确保我的流程定义和此方法传进来的参数没有问题。
*
*/
transitions = pi.getRootToken().getAvailableTransitions();
System.out.println(pi.getRootToken().getNode().getName());
} else {
。。
流程定义的xml文件<?xml version="1.0" encoding="UTF-8"?><process-definition xmlns="" name="documentTest">
<start-state name="start">
<transition to="step1"></transition>
</start-state>
<task-node name="step1">
<task name="step1">
<assignment actor-id="ss"></assignment>
</task>
<transition to="step2"></transition>
</task-node> <task-node name="step2">
<task name="step2">
<assignment actor-id="cs"></assignment>
</task>
<transition to="step3"></transition>
</task-node> <task-node name="step3">
<task name="step3">
<assignment actor-id="zyy"></assignment>
</task>
<transition to="end"></transition>
</task-node>
<end-state name="end"></end-state>
</process-definition>希望大家能帮忙看下,谢谢!
一旦解决,马上给分!
for (Iterator iter = nextSteps.iterator(); iter.hasNext();) {
Transition transition = (Transition) iter.next();
System.out.println(transition.getName());
}
}API上也没说返回Collection<Transition>
上面的仁兄说“JBPM3.2对泛型支持力度不够”,我觉得吧,你不使用泛型也会出现警告,我看jdk的源码都是按我这个法子写的,这样使用for-each和iterator会方便一些。
晚上给分,大家回复都有分!