工作流--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目录下,这样方便获取和加载。

原文地址:https://www.cnblogs.com/victor-grace/p/7253645.html