jbpm流程控制初学者容易接触的domopackagecom.sxdx.jbpm;importjava.io.FileInputStream;importjava.io.InputStream;importjava.util.zip.ZipInputStream;importorg.jbpm.JbpmConfiguration;importorg.jbpm.JbpmContext;importorg.jbpm.graph.def.ProcessDefinition;importorg.jbpm.graph.exe.ProcessInstance;importorg.jbpm.graph.exe.Token;importjunit.framework.TestCase;publicclassJbpmTestextendsTestCase{publicvoidtestbushu()throwsException{//1.获取sessionFactoryJbpmConfigurationjbpmConfiguration=JbpmConfiguration.getInstance();//2.获取sessionJbpmContextjc=jbpmConfiguration.createJbpmContext();//要把流程图转换成java对象InputStreamis=newFileInputStream("D://java_dianli//jbpm//src//leave//leave.zip");ZipInputStreamzis=newZipInputStream(is);ProcessDefinitionpd=ProcessDefinition.parseParZipInputStream(zis);//需求使用jc的方法吧pd持久到数据库中jc.deployProcessDefinition(pd);jc.close();}publicvoidtestgetinstance(){//得到流程定义(在数据库)JbpmConfigurationjbpmConfiguration=JbpmConfiguration.getInstance();JbpmContextjc=jbpmConfiguration.createJbpmContext();ProcessDefinitionpd=jc.getGraphSession().findLatestProcessDefinition("qingjia");//根据流程定义创建流程实例ProcessInstancepi=pd.createProcessInstance();jc.close();}publicvoidtestrun(){//得到流程定义(在数据库)JbpmConfigurationjbpmConfiguration=JbpmConfiguration.getInstance();JbpmContextjc=jbpmConfiguration.createJbpmContext();//还没开始走,看看我的令牌在哪里ProcessInstancepi=jc.getProcessInstance(1);Tokentoken=pi.getRootToken();Stringn1=token.getNode().getName();System.out.println("当前走到了"+n1+"节点");//令牌开始往下走token.signal();System.out.println("当前走到了"+token.getNode().getName()+"节点");token.signal();System.out.println("当前走到了"+token.getNode().getName()+"节点");}}
2023/3/12 7:18:41
20.25MB
jbpm
1