JBPM4.1.doc_第1页
JBPM4.1.doc_第2页
JBPM4.1.doc_第3页
JBPM4.1.doc_第4页
JBPM4.1.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JBPM4.1学习尹伟为一、搭建开发环境1 首先下载eclipse最新版和jbmp4.1,分别解压缩到某目录下,以下称该目录为JBPM_HOME。2 运行eclipse,windowPreferences配置user libraries,将JBPM_HOME下的jbpm.jar添加进去,并将JBPM_HOMEsrc目录source attach到jbpm.jar;再将JBPM_HOMElib目录下的所有jar文件都添加到jbpm libraries下,如下图给工程配置jbpm libraries,3 安装流程设计器GPD插件,Help - Install New Software.,如下图,选择JBPM_HOMEinstallsrcgpdjbpm-gpd-site.zip ,这里可能会花费一定的时间,等着吧。完成后重起eclipse,就可以在eclipse中可视化地设计流程,如下图4 配置jbpm runtime,指定runtime location到JBPM_HOME目录如下图5 添加jPDL 4 schema,将jbpmsrc下的jpdl-4.0.xsd添加到XML Catalog,如下图二、Signavio基于web的流程编辑器JBPM_HOME/install/src/signavio目录下有jbpmeditor.war,这就是signavio的web应用。里面的web.xml中有一项fileSystemRootDirectory的配置,指定流程文件编辑保存后的存放目录,修改后部署到tomcat中即可。也可以通过ant任务来部署ant -Dsignavio.repo.path=d:/java/jbpm-4.1/signavio-repo o.tomcat其中signavio.repo.path也是指定流程文件的存放目录。启动服务器后,http:/localhost:8080/jbpmeditor/p/explorer 可以进行流程编辑Signavio需要注意的几个问题1 Signavio是开源的,Project home: /p/signavio-oryx-initiative/ ,如果我们有足够的能力和精力,可以通过修改源代码来解决下面几个问题。2 Signavio依赖jdk6。3 对中文支持不好。所有界面都是英文;可以输入中文,保存也没有问题,但是再去编辑该流程文件时,会出现乱码,甚至该文件长时间打不开的问题,后台会报异常。4 不会生成流程对应的png图片文件5 由于Signavio使用的技术原因,并不是所有的浏览器都兼容,firefox和google chrome可以正常工作,但是ie却不能编辑流程文件,查看/en/browser-compatibility.html。三、创建jbpm必需的数据库表建数据库,以MySQL为例MySQL 中创建一个数据库,库名jbpmdb构建文件$jbpm.home/install/build.xml可以用来创建和删除数据库结构的操作。进入到这个目录下,运行ant -p 可以获得更多ant target细节。在你的数据库中创建表结构:首先,更新数据库配置文件,如$jbpm.home/install/jdbc/perties然后,修改$jbpm.homeinstallbuild.xml value更改为mysql然后在install目录下执行ant create.jbpm.schema,可以看到控制台提示执行了sql脚本,这样将在 jbpmdb 库中创建jdpm必须的数据表。mysql show tables;+-+| Tables_in_jbpmdb |+-+| jbpm4_deployment | jbpm4_deployprop | jbpm4_execution | jbpm4_hist_actinst | jbpm4_hist_detail | jbpm4_hist_procinst | jbpm4_hist_task | jbpm4_hist_var | jbpm4_id_group | jbpm4_id_membership | jbpm4_id_user | jbpm4_job | jbpm4_lob | jbpm4_participation | jbpm4_swimlane | jbpm4_task | jbpm4_variable |+-+17 rows in set (0.03 sec)查看build.xml的create.jbpm.schema target,它会执行installsrcdb下的某个sql文件 由此可见,直接执行相应的sql文件中的内容也可完成数据库表的创建。查看JBPM_HOME installsrcdb目录,还发现jbpm.$database.drop.sql文件,说明创建表和删除表的sql脚本都有了,我们随时运行吧。五、Services服务流程定义:对流程步骤的描述。流程实例ProcessInstance:流程定义的一个具体运行(Execution)。流程引擎ProcessEngine:org.jbpm.examples.services.ServicesTest中有ProcessEngine的使用ProcessEngine processEngine = new Configuration() .buildProcessEngine();上面代码中使用的默认文件为classpath下jbpm.cfg.xml文件,如果想指定另外的资源文件,可以用setResource方法,如下ProcessEngine processEngine = new Configuration() .setResource(my-own-configuration-file.xml) .buildProcessEngine();ProcessEngine可以得到以下ServiceRepositoryService repositoryService = processEngine.getRepositoryService();ExecutionService executionService = processEngine.getExecutionService();TaskService taskService = processEngine.getTaskService();HistoryService historyService = processEngine.getHistoryService();ManagementService managementService = processEngine.getManagementService();Configuration中定义的流程引擎对象(ProcessEngine Objects)也可以通过processEngine.get(Class)或者processEngine.get(String)获得。部署流程:RepositoryService包含了管理资源部署的所有方法。以下代码将从classpath中部署一个流程资源String deploymentId = repositoryService.createDeployment() .addResourceFromClasspath(org/jbpm/examples/services/Order.jpdl.xml) .deploy();每个部署都包含一序列的资源,每个资源内容都是一个字节数组,jpdl流程文件的扩展名是.jpdl.xml,其他资源是任务表单或者java类。Jdpl部署器会自动识别.jpdl.xml的扩展名文件为流程文件。部署时会把一个id分配给流程定义,id的格式为key-version。如果没有提供key,key会基于名字自动生成。名字中所有的非数字字母字符都会被下划线代替。如果没有提供version,version会自动赋值。对于已经部署了名字相同的流程文件的version号,它会比已经部署的相同key的流程定义的最大的version号还大。没有部署相同key的流程定义的版本号为1。删除流程定义:把流程定义从数据库中删除repositoryService.deleteDeployment(deploymentId);启动一个新的流程实例l 按最新版本ProcessInstance processInstance = executionService.startProcessInstanceByKey(ICL);上面方法会查找key为ICL的最新版本的流程定义,并启动它。l 指定流程版本号ProcessInstance processInstance = executionService.startProcessInstanceById(ICL-1);六、Jbpm examples实例解析hqlExamples中Hql例子中对TaskImpl使用的hql对应的hibernate映射文件在jbpm.jar中,参考jbpm/src目录下的jbpm.task.hbm.xml文件七、与spring集成From applicationContext-common.xml,需要注意的地方以粗体标出org.hibernate.dialect.HSQLDialecttruecreate-dropclasspath:be/inze/spring/demo/hibernate.cfg.xmlclasspath:jbpm.execution.hbm.xmlclasspath:jbpm.repository.hbm.xmlclasspath:jbpm.jpdl.hbm.xmlclasspath:jbpm.task.hbm.xmlclasspath:jbpm.history.hbm.xmljbpm.cfg.xml需要修改2处,粗体标出 暴露bean:配置完成后,可以这样访问beans参考资料JBPMdoc目录下有userguide、devguide、javadocs等资料。Family168 /p/family168/downloads/list 这里有一些入门教程,包括jbpm中文用户手册,源码和视频等资源。Jbpm 中文开发指南 /tutorial/jbpm4devguide/html/index.html Family

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论