Posted on 2009-12-04 00:08
penngo 阅读(3106)
评论(3) 编辑 收藏 所属分类:
JBPM
上一篇:
JBPM4.2安装
继续完成上一篇的安装.
4.在eclipse上安装流程设计器(GPD),有两个安装方法。
4.1.使用Eclipse软件升级(Software Update)机制安装设计器
在gpd目录下有一个gpd/jbpm-gpd-site.zip文件, 这就是更新站点(archived update site)的 压缩包。
在Eclipse里添加更新站点的方法:
帮助 --> 安装新软件...
点击 添加...
在 添加站点 对话框中,单击 压缩包...
找到 gpd/jbpm-gpd-site.zip 并点击 '打开'
点击 确定 在 添加站点 对话框中,会返回到 '安装'对话框
选择出现的 jPDL 4 GPD 更新站点
点击 下一步.. 然后点击 完成
接受协议
当它询问的时候重启eclipse
重新启动Eclipse,直接按Ctrl+N或File→New→other,你可以在对话框中看到有JBoss jBPM下有jBPM 4 Process Definition选项
4.2.自己去官网下载设计器
地址:http://sourceforge.net/projects/jbpm/files/在里面选择jBPM Process Designer的最新版本下载(不同的jpd版本要与相应的Eclipse版本对应,不然会出现一些小问题)。
下载回来后,解压出来后把里面features,plugins里的包放进Eclipse相应文件夹features,plugins里面。
重新启动Eclipse,直接按Ctrl+N或File→New→other,你可以在对话框中看到有JBoss jBPM下有jBPM 4 Process Definition选项
不过截止今天2009年12月3日,用Eclipse Update得到的GPD版本为jpdl4_1.2.0,而网上下载的是jpdl4_0.0.0,GPD节点的属性与用户指南文档的介绍也不一致。
5.定义jBPM用户库
5.1在工作空间定义一个用户库, 用来放置jBPM的库文件。
点击窗口 --> 属性(Windows --> Preferences)
选择Java --> 创建路径 --> 用户类库(Java --> Build Path --> User Libraries)
点击新建(New)
类型名字jBPM Libraries
点击添加JARs(Add JARs...)
找到jBPM安装程序下的lib目录
选择lib下的所有jar文件并点击打开(Open)
选择jBPM Libraries作为入口
重新点击添加JARs(Add JARs)
在jBPM的安装程序的根目录下选择jbpm.jar文件
点击打开(Open)
在jbpm.jar下选择源码附件(Source attachment)作为入口
点击编辑(Edit)
在源码附件的配置(Source Attachment Configuration)对话框中,点击目录(External Folder...)
到jBPM安装程序下的src目录
点击选择(Choose)
点击两次'确定'(Ok)会关闭所有对话框
6.测试
6.1.现在开始新建一个例子测试下。
新建一个java project,名test。
右击test项目工程,选择Properties→Java Build Path→Libraries→Add Library→User Lirary→jBPM Libraries(引入用户库5.1建立的用户库jBPM Libraries)
如果没有执行5.1步骤,在Java Build Path→Libraries中选择Add External JARs把JBPM4.2/lib的包和JBPM4.2目录下的JBPM.jar加入到库中。
新建流程定义文新建src/jbpm/Order.jpdl.xml,这个文件的内容来自jbpm4.2jbpm-4.2\examples\src\org\jbpm\examples\services目录下
<?xml version="1.0" encoding="UTF-8"?>
<process name="Order" xmlns="http://jbpm.org/4.2/jpdl">
<start g="16,19,48,48">
<transition to="receive confirmation" />
</start>
<state name="receive confirmation" g="96,16,136,52">
<transition to="end" />
</state>
<end name="end" g="269,20,48,48"/>
</process>
新建类src/jbpm/JbpmTest.java
package jbpm;
import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.HistoryService;
import org.jbpm.api.ManagementService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.RepositoryService;
import org.jbpm.api.TaskService;
public class JbpmTest {
public static void main(String[] args) {
Configuration configuration = new Configuration();
ProcessEngine processEngine = configuration.buildProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
ExecutionService executionService = processEngine.getExecutionService();
TaskService taskService = processEngine.getTaskService();
HistoryService historyService = processEngine.getHistoryService();
ManagementService managementService = processEngine.getManagementService();
String deploymentId = repositoryService.createDeployment()
.addResourceFromClasspath("jbpm/Order.jpdl.xml")
.deploy();
}
}
从jbpm-4.2\src目录下找到jbpm.cfg.xml,jbpm.hibernate.cfg.xml,jbpm.mail.properties,jbpm.mail.templates.examples.xml复制到test/src目录下,
修改jbpm.hibernate.cfg.xml文件中的数据库连接(使用Mysql)。
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpmdb</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
运行JbpmTest代码。
如果出现[JDBCExceptionReporter] Cannot delete or update a parent row: a foreign key constraint fails (`jbpm`.`jbpm4_execution`, CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `jbpm4_execution` (`DBID_`))
错误,把hibernate.dialect改为<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
运行成功后,按启动上一篇JBPM4.2安装的tomcat,访问http://localhost:8080/jbpm-console,登录JBPM控制台,可以看到刚才发布的流程
在数据库中也可看到jbpm4_deployment,jbpm4_deployprop,jbpm4_lob多了数据.
如果访问http://localhost:8080/jbpm-console时出现登录失败,需要在发布后重新加载用户信息,进入jbpm-4.2\install,运行ant load.example.identities命令。出现这个问题的原因是因为在jbpm.hibernate.cfg.xml这个文件中配置问题,可以把 <mapping resource="jbpm.identity.hbm.xml" /> 这一句删除或注释掉,就不会出现发布时清空用户的问题。
测试代码:jbpmTest.rar