zoukankan      html  css  js  c++  java
  • 工作流--JBPM部署对象

       上篇介绍了JBPM的核心引擎ProcessEngine,在该引擎中有几种常用的操作方法,现在就这些方法来进行详细的介绍,首先要介绍的是部署对象。

       部署对象,表示的是一次部署的多个文件的信息,通常有jpdl.xml和png两个文件。其中这两个文件是通过jbpm画图之后产生的,用于流程进行。

       部署对象时,需要通过核心引擎提供的方法,首先是获取流程资源服务接口,然后调用createDeployment方法进行文件的加载与部署,加载文件的方法有多种,如下:

               

       下面主要介绍两种:

          1、 通过加载classpath下的jpdl.xml和png文件进行部署     

    public void testDeploy(){
    		String deployId=processEngine.getRepositoryService().createDeployment()//
    		  .addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//
    		  .addResourceFromClasspath("helloworld/helloworld.png")//
    		  .deploy();
    		
    		System.out.println("部署成功:deployId= "+deployId);
    	}
       

         2、通过加载classpath下的压缩文件zip进行部署     

    public void testDeploy_zip(){
    			//获取压缩文件流
    			InputStream in=this.getClass().getClassLoader().getResourceAsStream("test.zip");
    			ZipInputStream zipInputStream=new ZipInputStream(in);
    			//部署
    			String deployId=processEngine.getRepositoryService().createDeployment()//
    			  .addResourcesFromZipInputStream(zipInputStream)//
    			  .deploy();
    			
    			System.out.println("部署成功:deployId= "+deployId);
    		}

        流程部署完之后,主要存储在三张表中,如下:

            jbpm4_deployment流程定义表  

            jbpm4_lob存储表

            jbpm4_deployprop流程定义属性表


       流程的部署相对来说还是比较容易理解的,在使用的过程中,通过资源服务接口来获取创建的方法。需要注意的是部署流程过程中所需要的jpdl.xml文件和png的路径问题,一般将其放在classpath目录下,这样方便获取和加载。

  • 相关阅读:
    mysql高级查询(转的)
    PHP Content-type 的说明
    在textFieldShouldEndEditing 方法中调用[self.tableView reloadData] 失效问题
    关于navigationcontroller 隐藏navigationBar问题
    iOS证书、签名、安装描述文件
    swift 项目搭建
    定义私有cocoapods 源
    Git 服务器搭建
    UITabelView 介绍
    swift aes 加密
  • 原文地址:https://www.cnblogs.com/victor-grace/p/7253645.html
Copyright © 2011-2022 走看看