jbpm流程部署文件研究

jbpm流程部署文件研究

ID:11924529

大小:16.51 KB

页数:3页

时间:2018-07-14

jbpm流程部署文件研究_第1页
jbpm流程部署文件研究_第2页
jbpm流程部署文件研究_第3页
资源描述:

《jbpm流程部署文件研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、jBPM流程部署文件研究PostedbyNicholasDingon五月29th,2006jBPM为流程定义及其相关文件专门使用了一种打包机制,就是.par文件,似乎JBoss很喜欢这样的形式,之前还有为Hibernate提供的.har包。这个.par被称为ProcessArchive,故名思义,里面包含了流程需要的所有信息。其实.par文件就是一个简单的zip格式的压缩包。里面的核心文件是processdefinition.xml这个流程定义,当然用EclipsejBPM插件制作的流程还含有一个流程图片,可以使用jBPM提供的

2、webapp动态标示当前所执行的流程。除次之外,classes这个目录以内的文件都会被动态加载到内存,因为流程里面定义的Action和Task等的实现类都需要去Classpath找,jBPM会在部署.par包的时候用自己的ClassLoader加载进去。(PS:也可以直接放在上层Classpath里面,只要能够加载到就可以)流程部署详解如果认为一定要使用EclipsejBPM插件来部署流程的话,那就错了,jBPM插件从一定程度上简化了jBPM开发,尤其是Deployment功能为大家省了不少事情,但是如果要手工部署,怎么做呢?接

3、下来就要研究一下到底部署这个.par文件的时候做了哪些事情。首先要让EclipsejBPM的部署功能有效,那么要确保服务器使用jBPM提供的webapp,并且让起Context位于/jbpm这个位置。例如http://localhost:8080/jbpm,那么在jBPM插件里面写上localhost,端口8080,测试一下连接就可以了。那么我们分析一下webapp,发现原来是org.jbpm.webapp.servlet.UploadServlet这个类在起作用。看一下UploadServlet的代码,看handleReque

4、st里面的内容,用CommonsFileupload做的文件上传,如果文件小直接加载到内存,文件大会用磁盘的临时空间(Fileupload的文档上有解释)。文件上传完毕,那么就执行doDeployment操作。这个doDeployment才是部署的关键入口。ZipInputStreamzipInputStream=newZipInputStream(fileItem.getInputStream());这行代码解释了如何加载.par文件,首先作为Zip格式读取,然后得到jbpmContext来进行流程部署。这个JbpmConte

5、xt也是采用了ThreadLocal,感觉原理上和Hibernate用的差不多(到这篇文章为止,我在Weblogic还没法成功使用这个得到jbpmContext,还只能用jbpmConfiguration来获取)。JbpmContextjbpmContext=JbpmContext.getCurrentJbpmContext();ProcessDefinitionprocessDefinition=ProcessDefinition.parseParZipInputStream(zipInputStream);jbpmConte

6、xt.deployProcessDefinition(processDefinition);这样以来,一个流程就这么简单的部署上去了。当然了,如果不想Upload,还可以使用本地文件系统直接部署,需要提供一个URL就可以了,请参考DeployServlet,还可以使用ant进行部署。这么看来,部署一个流程就变得非常方便了。部署文件怎么就消失了,到底去了哪里?在部署完.par流程包之后,仿佛就不再需要这个.par文件了,但是是什么原因能够让服务器不必知道.par的位置而又能每次正常运行这个流程呢?这个问题我诼磨了很久,一个zip文

7、件不可能凭空消失啊,至少他应该存在于引擎可以找到的地方。而这个地方,正是数据库!看一下jbpm生成的数据库,包含两张比较特别的表jbpm_bytearray和jbpm_byteblock,正是这两张表纯储了.par文件的内容。可以说,他是将zip里面的内容拆开存到了数据库。mysql>select*fromjbpm_bytearray;+-----+------------------------------------------------------+-----------------+

8、ID_

9、NAME_

10、FILEDEF

11、INITION_

12、+-----+------------------------------------------------------+-----------------+

13、1

14、processimage.jpg

15、1

16、

17、2

18、gpd.xml

19、1

20、

21、3

22、proc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。