JBPM4.2安装(2)

上一篇: 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

你可能感兴趣的:(JBPM4.2安装(2))