七、部署流程
?
测试代码如下:
??? //部署流程定义:根据流程定义文件,解释得到流程定义对象,把流程定义持久化到数据库。
??? @Test
??? public void createJbpmTabTest(){
??? ???
??? ??? //默认从classpath中查找名为hibernate.cfg.xml的配置文件
??? ??? JbpmConfiguration configuration = JbpmConfiguration.getInstance();
??? ???
??? ??? ProcessDefinition definition = ProcessDefinition.parseXmlResource("test/processdefinition.xml");
??? ???
??? ??? //JbpmContext是对hibernate session的封装,提供了对JBPM相关对象的持久化功能
??? ??? JbpmContext context = configuration.createJbpmContext();
??? ???
??? ??? try {
??? ??? ??? context.deployProcessDefinition(definition);
??? ??? } catch (RuntimeException e) {
??? ??? ??? e.printStackTrace();
??? ??? }finally{
??? ??? ??? context.close();
??? ??? }
??? ???
??? }
?
运行后数据库情况如下:
再次运行后,会再保存一个流程定义对象,版本号变成了2
?
对应的任务定义,注意是任务定义,不是任务实例,如下:
对应的流转定义如下:
?
对应的节点定义如下:
?