jBPM工作流 之jBPM3
前一段时间的项目涉及jBPM3的项目升级,把其中学习到的一些内容整理一下,
首先看看jBPM3的使用,了解了这个,对于升级到4有一定的绑定。
下载和安装
http://sourceforge.net/projects/jbpm/files/jBPM%203/jbpm-jpdl-3.2.8/
下载jbpm-installer-3.2.8.jar后
将 jboss-5.0.1.GA.zip 放到 jbpm-3.2.8\opt
使用java -jar jbpm-installer-3.2.8.jar执行安装,如上,选择mysql和jboss的路径
配置
Mysql
建立mysql数据库jbpm3,建立用户/密码:jbpm3/ jbpm3
首先执行 jbpm3\jbpm-3.2.8\database\jbpm.jpdl.mysql.sql
然后 jbpm-3.2.8/docs/userguide/html/ch07.html#d0e1910 插入如下的数据
insert into JBPM_ID_USER (ID_, CLASS_, NAME_, EMAIL_, PASSWORD_)
values ('1', 'U', 'user', 'sample.user@sample.domain', 'user');
insert into JBPM_ID_USER (ID_,CLASS_, NAME_, EMAIL_, PASSWORD_)
values ('2', 'U', 'manager', 'sample.manager@sample.domain', 'manager');
insert into JBPM_ID_USER (ID_,CLASS_, NAME_, EMAIL_, PASSWORD_)
values ('3', 'U', 'shipper', 'sample.shipper@sample.domain', 'shipper');
insert into JBPM_ID_USER (ID_,CLASS_, NAME_, EMAIL_, PASSWORD_)
values ('4', 'U', 'admin', 'sample.admin@sample.domain', 'admin');
JBOSS 5
jboss-5.0.1.GA\server\default\conf\login-config.xml加入用户验证
<application-policy name="soa">
<authentication>
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
<module-option name="dsJndiName">java:/JbpmDS</module-option>
<module-option name="principalsQuery">
SELECT PASSWORD_ FROM JBPM_ID_USER WHERE NAME_=?
</module-option>
<module-option name="rolesQuery">
SELECT g.NAME_ ,'Roles'
FROM JBPM_ID_USER u,
JBPM_ID_MEMBERSHIP m,
JBPM_ID_GROUP g
WHERE g.TYPE_='security-role'
AND m.GROUP_ = g.ID_
AND m.USER_ = u.ID_
AND u.NAME_=?
</module-option>
</login-module>
</authentication>
</application-policy>
以上的soa和
jboss-5.0.1.GA\server\default\deploy\jbpm\jsf-console.war\WEB-INF\jboss-web.xml
<security-domain>java:/jaas/soa</security-domain>
<context-root>jbpm-console</context-root>
对应
jboss-5.0.1.GA\server\default\deploy\jbpm\jbpm-mysql-ds.xml的内容需要修改成如下,否则会出现事务错误
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>JbpmDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/jbpm3</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>jbpm3</user-name>
<password>jbpm3</password>
<metadata>
<type-mapping>MySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
执行
jboss-5.0.1.GA\bin\run.bat 即可访问 http://localhost:8080/jbpm-console/
使用
将jbpm-3.2.8\examples\websale\src\main\jpdl\jpdl 这个目录下的内容压缩成websale.zip
http://localhost:8080/jbpm-console/ 使用admin/admin即可登录,此时可以部署流程 websale.zip
如下:
具体参考:
JBoss jBPM getting started guide
http://community.jboss.org/wiki/JBPM3GettingStarted