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