svn配置服务器如何切花Linux,JBMP安装配置过程

JBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。jBPM是公开源代码项目,遵循Apache License。

JBPM的配置还是比较容易的,只是配置的过程有些麻烦,但是只要你具备了一定的基础之后,是非常容易理解。在我刚开始配置的时候,总是“报错”JNDI没有绑定,而不是“信息”JNDI没有绑定,这两者的区别就是:“报错”说明配置有问题,而“信息”则表明我知道可以通过JNDI绑定的方式来实现但是我没有用它。

下面介绍配置的过程,而且,是基于JDBC直连的方式,你就不用考虑配置数据源的问题了。如果这个过程中出现关于数据源(Datasource)的异常信息,说明你又在配置JDBC直连的方式时考虑了数据源的配置。

系统环境

操作系统:Windows XP SP2

JBPM版本:jbpm-jpdl-suite-3.2.3

WEB服务器:Tomcat 6.0

JDK版本:Sun JDK1.6

MySQL:5.0

浏览器:IE 6.0

Ant版本:Ant 1.7.1

安装配置

主要分为两部分:

JDK,Ant,Tomcat,MySQL安装配置过程:略。

另一部分就是jbpm-jpdl-suite-3.2.3的准备工作,详细说明。

1、下载jbpm-jpdl-suite-3.2.3.zip

JBoss jBPM 官方(http://www.jboss.org/jbossjbpm/)当前发布的版本为 3.2.3,只需要下载jPDL Suite,下载后得到jbpm-jpdl-suite-3.2.3.zip,解压缩后得到jbpm-jpdl-3.2.3目录下的如下文件和目录:

└─jbpm-jpdl-3.2.3

│ jboss.eula.txt

│ jbpm-identity.jar

│ jbpm-jpdl.jar

│ license.txt

│ readme.html

│ release.notes.html

│ x.txt

├─config

├─db

├─deploy

├─designer

├─doc

├─examples

├─lib

├─server

└─src

2、MySQL数据库配置

启动MySQL数据库服务器,我使用root登录,创建一个数据库jbpm。

然后,在jbpm-jpdl-3.2.3\db目录下面可以看到数据库的SQL脚本文件,找到jbpm.jpdl.mysql.sql文件,在其中每行的末尾添加一个分号,例如,原来的为:

alter table JBPM_ACTION drop foreign key FK_ACTION_REFACT

alter table JBPM_ACTION drop foreign key FK_CRTETIMERACT_TA

alter table JBPM_ACTION drop foreign key FK_ACTION_PROCDEF

alter table JBPM_ACTION drop foreign key FK_ACTION_EVENT

alter table JBPM_ACTION drop foreign key FK_ACTION_ACTNDEL

alter table JBPM_ACTION drop foreign key FK_ACTION_EXPTHDL

修改后应该为:

alter table JBPM_ACTION drop foreign key FK_ACTION_REFACT;

alter table JBPM_ACTION drop foreign key FK_CRTETIMERACT_TA;

alter table JBPM_ACTION drop foreign key FK_ACTION_PROCDEF;

alter table JBPM_ACTION drop foreign key FK_ACTION_EVENT;

alter table JBPM_ACTION drop foreign key FK_ACTION_ACTNDEL;

alter table JBPM_ACTION drop foreign key FK_ACTION_EXPTHDL;

然后,就可以将该SQL脚本文件在MySQL数据库服务器上执行,创建数据库jbpm中的所有表,使用如下命令:

mysql> source D:\JBPM\jbpm-jpdl-suite-3.2.3\jbpm-jpdl-3.2.3\db\jbpm.jpdl.mysql.sql;

从jbpm.jpdl.mysql.sql文件内容可以看到,如果你是第一次执行该脚本文件,它会首先假定数据库jbpm中存在这些表而执行删除操作,然后才能执行创建表的工作。

接着,可以初始化数据库,向其中插入数据:

INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL);

INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL);

INSERT INTO JBPM_ID_GROUP VALUES(3,'G','user','security-role',NULL);

INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',NULL);

INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL);

INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user');

INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','manager@sample.domain','manager');

INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','admin@sample.domain','admin');

INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','shipper@sample.domain','shipper');

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,4,4);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,3);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1);

保存为insert.sql文件,然后在MySQL数据库服务器上执行:

mysql> source D:\JBPM\jbpm-jpdl-suite-3.2.3\jbpm-jpdl-3.2.3\db\insert.sql;

3、JBPM控制台配置

JBPM是通过Web的控制台来进行流程管理的,所以配置的时候有点麻烦,但是很容易理解。

要保证你的Ant正确配置好,然后启动一个cmd窗口,切花到jbpm-jpdl-3.2.3\deploy(我的为D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy)目录下,执行如下命令:

ant customize.console.for.tomcat

执行结果如下所示:

C:\Documents and Settings\SHIYANJUN>d:

D:\>cd D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy

D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy>ant customize.console.for.tomcat

Buildfile: build.xml

customize.console.for.tomcat:

[mkdir] Created dir: D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy\target\war

[mkdir] Created dir: D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy\customized

[unzip] Expanding: D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy\jbpm-console.

war into D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy\target\war

[copy] Copying 9 files to D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy\targe

t\war\WEB-INF\lib

[zip] Building zip: D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy\customized

\jbpm-console.war

BUILD SUCCESSFUL

Total time: 4 seconds

D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy>

这时,在D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy目录下生成了两个目录:customized和target。

将customized目录下的jbpm-console.war文件拷贝到Tomcat安装目录下的webapps下面,启动Tomcat Web服务器,然后修改jbpm-console目录下的内容。

修改目录D:\Eclipse\workspace\jbpm-jpdl-3.2.3\deploy\target\war\WEB-INF\classes下的hibernate.cfg.xml文件,只需要修改mapping元素之前的内容property元素的内容。最初,默认只配置了如下三项:

org.hibernate.dialect.HSQLDialect

org.hibernate.cache.HashtableCacheProvider

java:comp/env/jdbc/JbpmDataSource

修改后需要添加,因为是JDBC直连,所以修改后如下:

org.hibernate.dialect.MySQLInnoDBDialect

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/jbpm

root

111111

org.hibernate.cache.HashtableCacheProvider

org.hibernate.transaction.JDBCTransactionFactory

你需要把涉及到数据源的配置注释掉或者删除掉,否则在后面测试启动Tomcat的时候会报JNDI为未绑定的异常。

接着,要引入相关的jar包文件(jbpm-console是一个jsf应用):

(1)将jboss-j2ee.jar、commons-collections.jar、jsf-api.jar和jsf-impl.jar四个文件添加到D:\Tomcat 6.0\webapps\jbpm-console\WEB-INF\lib目录下。

上面四个文件获取:

jboss-j2ee.jar可以从jbpm-jpdl-suite-3.2.3\jbpm-jpdl-3.2.3\lib目录中获取到;

commons-collections.jar可以从jbpm-jpdl-3.2.3\server\server\jbpm\lib目录中获取到;

jsf-api.jar和jsf-impl.jar可以从jbpm-jpdl-3.2.3\server\server\jbpm\deploy\jboss-web.deployer\jsf-libs目录中获取到。

(2)将MySQL的JDBC驱动程序jar包添加到Tomcat共享目录:例如,我将mysql-connector-java-5.0.3-bin.jar文件拷贝到D:\Tomcat 6.0\lib目录下。

4、Tomcat安全域配置

在%CATALINA_HOME%/conf/Catalina/localhost 创建一个jbpm-console.xml 文件,该配置文件的内容如下:

driverName="com.mysql.jdbc.Driver"

connectionURL="jdbc:mysql://localhost:3306/jbpm"

connectionName="root"

connectionPassword="111111"

userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_"

userCredCol="DISTINCT u.PASSWORD_"

userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

roleNameCol="g.NAME_" />

这里使用的是MySQL数据库,连接的名称root,密码为111111。

测试JBPM

启动Tomcat,如果没有发生任何异常,说明配置成功了。特别注意,这里使用的是JDBC直连的方式,并没有为其配置Hibernate数据源,所以不可能发生与数据源有关的异常。

85db102d15780988579cc684d6d7ab47.png

根据图中提示的Example User账号信息,登录JBPM控制台,我使用admin帐户,登录成功后,如图所示:

aa7dda919aa74cdc6f04eb0b846411ae.png

如果第一次登录,Processes下是没有项的,可以点击左侧的deploy连接,选择一个工作流定义文件(例如,选择使用D:\JBPM\jbpm-jpdl-suite-3.2.3\jbpm-jpdl-3.2.3\examples\websale\target\websale.jpdl),然后Deploy 该New Process,如图所示:

f890d36dc8fd7af779397dbab272bb51.png

执行Deploy之后,如果成功,则直接跳转到Infomation页面,显示所有的Process,可以通过Process ID来查看某个工作流,包括通过直观的Process Image来审查。

还记得上面,在执行SQL脚本的时候,向数据库中的表中插入了一些初始化数据,这时,可以通过JBPM控制台上的Identities来查看,如图所示:

2427e7790eb776f24b336670c81f263b.png

到此,完成全部安装配置过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2017年jBPM 正式发布了全新的 7版本。jBPM 是一个完全开源的业务流程管理(BPM)和案例管理解决方案。它支持流程和案例的完整生命周期,从编写工具到执行一直到监控和管理。 在核心引擎之上,提供了许多功能和工具来支持整个生命周期中的业务流程: 基于Eclipse和基于Web的编辑器,用于支持业务流程的图形化创建(拖放)。 基于JPA / JTA的可插拔持久性和事务。 基于WS-HumanTask的可插拔人工任务服务,用于包含需要由人类执行者执行的任务。 管理控制台支持流程实例管理,任务列表和任务表单管理以及报告。 部署流程的可选流程仓库(和其他相关知识)。 历史记录(用于查询/监视/分析)。 与Seam,Spring,OSGi等集成 BPM通过以业务用户和开发人员喜欢的方式提供流程管理功能和工具,从而实现业务分析师,开发人员和最终用户之间的桥梁。域特定的节点可以插入调色板,使业务用户更容易理解这些过程。 jBPM支持自适应和动态过程,需要灵活性来模拟复杂的现实生活中的情况,这些情况不能用刚性过程轻松描述。我们通过允许他们控制进程的哪些部分来执行,动态地偏离进程等,使控制回到终端用户。 jBPM也不仅仅是一个独立的流程引擎。复杂的业务逻辑可以被建模为业务流程与业务规则和复杂事件处理的组合。jBPM可以与Drools项目相结合,以支持将这些范例集成到一起的统一环境,您可以将业务逻辑作为过程,规则和事件的组合进行建模。 工作是MAVEN+eclipse jBPM jars也可以在中央maven仓库中使用 (也可以在JBoss maven仓库中)。 如果您使用Maven,只需添加一个依赖关系pom.xml: org.jbpm jbpm-test 7.3.0.Final 这与Gradle,Ivy和Buildr类似。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值