JBPM4.2安装

 

JBPM4.2安装

1.先把JBPM4.2下载回来http://sourceforge.net/projects/jbpm/files/a%29%20jBPM%204/jbpm-4.2/jbpm-4.2.zip/download
解压jbpm-4.2.zip,将它放到合适的地方,jbpm-4.2文件夹下面的子目录:
    doc: 用户手册,javadoc和开发指南
    examples: 用户手册中用到的示例流程
    install: 用于不同环境的安装脚本
    lib: 第三方库和一些特定的jBPM依赖库
    src: 源代码文件
    jbpm.jar: jBPM主库归档
    migration: 参考开发指南

2.必须安装的软件
2.1jBPM需要JDK (标准java)5或更高版本。
http://java.sun.com/javase/downloads/index.jsp

2.1为了执行ant脚本,需要1.7.0或更高版本的apache ant:
http://ant.apache.org/bindownload.cgi
解压到 C:\Program Files\apache-ant-1.7.1(其他目录也可以)。
设置如下系统变量: ANT_HOME=C:\Program Files\apache-ant-1.7.1。(注意一定要在系统变量里面添加,在用户变量里面添加元无效。)
把 %ANT_HOME%\bin 加入到系统变量 PATH 中(也可直接在系统变量path后边添加C:\Program Files\apache-ant-1.7.1\bin)。

3.安装脚本
jBPM下载包中jbpm-4.2/install目录, 目录中有一个ant的build.xml文件,可以使用它来 把jBPM安装到你的应用环境中。
本次安装是使用它默认的脚本。打开命令行,进入jbpm4.2/install目录。 使用ant -p你可以看到 这里可以使用的所有脚本。脚本的参数都设置了默认值, 可以快速执行,下面列表给出了可用脚本的概况:

    demo.setup.jboss:安装jboss,把jbpm安装到jboss中, 启动jboss,创建jbpm数据库表结构,部署实例,加载实例身份认证信息, 安装并启动eclipse
    demo.setup.tomcat:安装tomcat,把jboss安装到tomcat中, 启动tomcat,创建jbpm数据库表结构,部署实例,加载实例身份认证信息, 安装并启动eclipse
    clean.cfg.dir:删除${jbpm.home}/install/generated/cfg 文件夹。
    create.cfg:创建一个配置在 ${jbpm.home}/install/generated/cfg下,基于当前的参数。
    create.jbpm.schema:在数据库中创建jbpm表
    create.user.webapp创建一个基本的webapp在 ${jbpm.home}/install/generated/user-webapp中
    delete.jboss:删除安装的jboss
    delete.tomcat:删除安装的Tomcat
    demo.teardown.jboss:删除jbpm数据库的表并停止jboss
    demo.teardown.tomcat:停止tomcat和hsqldb服务器(如果需要)
    drop.jbpm.schema:从数据库中删除jbpm的表
    get.eclipse:下载eclipse如果它不存在
    get.jboss:下载一个JBoss AS,已经测试过当前的jBPM版本,如果它不存在
    get.tomcat:下载一个Tomcat,已经测试过当前的jBPM版本,如果它不存在
    hsqldb.databasemanager:启动hsqldb数据库管理器
    install.eclipse:解压eclipse,下载eclipse如果它不存在
    install.jboss:下载JBoss如果它不存在,并解压
    install.jbpm.into.jboss:把jBPM安装到JBoss中
    install.tomcat:把tomcat下载到${tomcat.distro.dir}如果tomcat不存在,并解压tomcat
    install.jbpm.into.tomcat:把jBPM安装到tomcat中
    install.examples.into.tomcat:部署所有的实例流程
    install.signavio.into.jboss:把signavio安装到jboss中
    install.signavio.into.tomcat把signavio安装到tomcat中
    load.example.identities:读取实例用户和用户组数据到数据库
    reinstall.jboss:删除之前的jboss安装,并重新安装jboss
    reinstall.jboss.and.jbpm:删除之前的jboss安装,并重新安装jboss并把jbpm安装到它里面
    reinstall.tomcat:删除之前的tomcat安装,并重新安装tomcat
    reinstall.tomcat.and.jbpm:删除之前的tomcat安装,并重新安装tomcat并把jbpm安装到它里面
    start.eclipse:启动eclipse
    start.jboss:启动jboss,等待到jboss启动完,然后让jboss在后台运行
    start.tomcat:启动Tomcat,等待到Tomcat启动完,然后让Tomcat在后台运行
    stop.jboss:通知jboss停止,但是不等到它完成
    stop.tomcat通知Tomcat停止,但是不等到它完成
    upgrade.jbpm.schema:更新数据库中的jBPM表到当前版本 

3.1最快速的一种安装方法。

apache-tomcat-6.0.20.zip(用的是解压版)(http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.zip),
eclipse-jee-galileo-win32.zip(http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo)
放进jbpm-4.2\install\downloads目录下
打开命令行,进入jbpm-4.2/install,输入ant demo.setup.tomcat
将安装
    把tomcat安装到jbpm-4.2/apache-tomcat-6.0.20目录
    把jBPM安装到tomcat中。
    安装hsqldb(一个内存数据库),并在后台启动。
    在hsqldb中创建数据库结构
    根据示例创建一个examples.bar业务归档,把它发布到jBPM数据库中
    从jbpm-4.2/install/src/demo/example.identities.sql,读取用户和组。
    安装eclipse到jbpm-4.2/eclipse
    安装jBPM web控制台
    安装Signavio web建模器
完成后,jbpm-4.2\apache-tomcat-6.0.20\bin\startup.bat启动tomcat,

Signavio web(web版流程设计器)地址http://localhost:8080/jbpmeditor/p/explorer
jBPM控制台地址http://localhost:8080/jbpm-console
用户名    密码
alex    password
mike    password
peter    password
mary    password

 

3.2其它方式安装。

3.2.1安装数据库.
使用Mysql数据库
MySQL中创建一个库,库名:jbpmdb
然后,在jbpm-4.2\install\build.xml
<!-- DEFAULT PROPERTY VALUES -->
<property name="database" value="hsqldb" />,value值更改为value="mysql"
修改jbpm-4.2\install\jdbc\mysql.properties中的数据库配置。
(如果使用其它数据库 oracle | postgresql,需要执行同样修改)

在jbpm-4.2\install目录下执行ant create.jbpm.schema,完成后,将会在jbpmdb中会多了很多表。

3.2.2安装服务器
以tomcat为例: 
把apache-tomcat-6.0.20.zip(解压版)放进jbpm-4.2\install\downloads目录下,
jbpm-4.2\install目录下执行:
ant install.tomcat:如果tomcat不存在,tomcat下载到${tomcat.distro.dir},解压tomcat,jbpm-4.2文件夹下会多了一个apache-tomcat-6.0.20目录(貌似自己把apache-tomcat-6.0.20.zip解压在这个目录下也行)
ant install.jbpm.into.tomcat:把jBPM安装到tomcat中
ant load.example.identities:读取实例用户和用户组数据到3.2.1的Mysql数据库(这步一定要执行,不然登录时用不了3.1说的帐号登录)
ant start.tomcat:(也可进行jbpm-4.2\apache-tomcat-6.0.20\bin\startup.bat)启动Tomcat,等待到Tomcat启动完,然后让Tomcat在后台运行

做完这一步,你可以访问Signavio web和jBPM控制台了。

----------------------------------------------------------------------------------------------------------------

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" /> 这一句删除或注释掉,就不会出现发布时清空用户的问题。

你可能感兴趣的:(安装,职场,休闲)