JBPM4.4(一) jbpm环境搭建以及同ssh整合

来源:互联网 发布:淘宝服务热线 人工 编辑:程序博客网 时间:2024/06/08 13:12

一、jbpm操作流程。

二、jbpm环境准备

l、JBPM所需环境

1jBPM requires a JDK (standard java) version 5 or higher.http://java.sun.com/javase/downloads/index.jsp
2To execute the ant scripts, you'll need apache ant version1.7.0 or higher: http://ant.apache.org/bindownload.cgi

2、下载相关资源

1jBPM下载地址:http://IDEfor Java EE Developers (163 MB)Version    3.5sourceforge.net/projects/jbpm/files/
2Eclipse下载地址(Eclipse ):http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo

3、安装流程设计器(GPDEclipse插件

GPDGraphical Process Designer)是一个Eclipse插件。

路径为:JBPM_HOME/install/src/gpd/jbpm-gpd-site.zip

安装方法说明(jBPM4.4User Guide, 2.11.2. Install the GPD plugin into eclipse):

Help -->Install New Software...

ClickAdd...

In dialogAdd Site dialog, click Archive...

Navigate toinstall/src/gpd/jbpm-gpd-site.zip and click 'Open'

ClickingOK  Update Site that has appeared

ClickNext... and then Finished

 

三、所需jar包。

1、${JBPM_HOME}/jbpm.jar(核心包)
2、JBPM_HOME/lib/*.jar,不添加以下jar包:servlet-api.jar, junit.jar。其中junit.jar一定不要添加,因为是3.8.2版本,与我们使用的junit4有冲突。
3、由于slf4j-jdk14.jar、slf4j-log4j12.jar都具有处理日志的功能,会避免出现冲突,所以可去掉slf4j-jdk14.jar。
4、所使用的数据库对应的驱动的jar包(第2步所添加的jar包中已包含mysql的jdbc驱动jar包)。
 

四、添加并定制配置文件

  • 配置文件可以从JBPM_HOME/examples/src/中拷贝:jbpm.cfg.xmllogging.properties(拷贝hibernate包  下/project/etc/log4j.properties即可)、jbpm.hibernate.cfg.xml
  • 修改logging.properties中的日志输出级别为Errorlog4j.rootLogger=ERROR,stdout
  • 修改jbpm.hibernate.cfg.xml中的数据库连接信息。如果使用MySql,使用的方言一定要是org.hibernate.dialect.MySQL5InnoDBDialect
  • 数据库连接编码一定要是UTF-8。否则可能会在部署含有中文字符的流程定义时会抛异常,说sql语法错误。
  • 连接数据库的时候,建议使用 jdbc:mysql://localhost:3306/itcastjbpm?useUnicode=true&characterEncoding=utf8可防止存储到数据库的值是乱码
  • 注意:如使用MySQLDialect,就会在流程实例结束时抛异常:com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`jbpm44_20101028/jbpm4_execution`, CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`)REFERENCESjbpm4_execution` (`DBID_`))