三年没写博客了。把这篇记下来可能方便后来人——
目的:JBPM5.4里的demo,迁至MySQL数据库
按照手册里的步骤(jbpm-docs.pdf 3.7章节),跑出一堆问题的。而且很容易发现,手册是5.2版本的,具体可以在JBPM的GITHUB上观察。
错误1:
Table 'jbpm5.task' doesn't exist
数据源配置问题,解决方法看后面
错误2:
JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors)
数据源配置问题,解决方法看后面
错误3:
jbpm5 Unknown table 'sequences' in information_schema
数据源配置问题,解决方法看后面
错误4:
cvc-complex-type.4: Attribute 'type' must appear on element 'bpmn2:relationship'.
可以不用理会,参考:
https://community.jboss.org/thread/215959
具体说一下数据库配置,部分参考自:
https://community.jboss.org/message/785244#785244
好,正文开始:
修改文件
jbpm-installer\db\jbpm-persistence-JPA2.xml
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
修改文件jbpm-installer\db\task-persistence-JPA2.xml
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
修改文件jbpm-installer\task-service\resources\META-INF\persistence.xml
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/task" />
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value=""/>
<property name="hibernate.connection.autocommit" value="false" />
<property name="hibernate.max_fetch_depth" value="3"/>
<property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.show_sql" value="true" />
</properties>
注意这个文件里还有个错误:
<class>org.jbpm.task.Comment</class>
<class>org.jbpm.task.Deadline</class>
重复了,去掉一遍
修改文件jbpm-installer\standalone.xml
注意这里要配2个数据源,而非手册上的一个:
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/taskDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/task</connection-url>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
<password></password>
</security>
</datasource>
<datasource jta="true" jndi-name="java:jboss/datasources/jbpmDS" pool-name="H2DS" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:mysql://localhost:3306/jbpm5</connection-url>
<driver>mysql</driver>
<pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>4</max-pool-size>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>root</user-name>
<password></password>
</security>
<!--
<validation>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
-->
</datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
解压:
jbpm-installer\lib\jbpm-gwt-console-server-5.4.0.Final-EE6.war
修改
WEB-INF\classes\META-INF\persistence.xml
<jta-data-source>java:jboss/datasources/jbpmDS</jta-data-source>
以及
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
再重新打包成war
解压
jbpm-installer\lib\jbpm-human-task-war-5.4.0.Final-EE6.war
修改
WEB-INF\classes\META-INF\persistence.xml
<non-jta-data-source>java:jboss/datasources/taskDS</non-jta-data-source>
以及
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
然后重新打包成war
接下来生成数据库脚本
编辑:jbpm-installer\build.properties,配置使用数据库为mysql(内有模板),注掉原来的H2部分
db.name=mysql
db.driver.module.prefix=com/mysql
db.driver.jar.name=${db.name}-connector-java.jar
db.driver.download.url=https://repository.jboss.org/nexus/service/local/repositories/central/content/mysql/mysql-connector-java/5.1.18/mysql-connector-java-5.1.18.jar
执行
ant jbpm.schemaexport
ant ht.schemaexport
就可以在jbpm-installer\db目录下找到mysql 的schema(htschemaexport.sql,jbpmschemaexport.sql),分别到jbpm5、task两个实例里面把数据库建立好
最后启动jboss7,如果之前安装过了,要重新clean一下(当然你如果找到到以上配置在哪里也可以手动替换)
执行
ant clean.demo.noeclipse
ant install.demo.noeclipse
ant start.demo.noeclipse
再启动后看log,除了那个可以忽略的错误,全都ok了,接下来在console里面操作,mysql里面观察吧
分享到:
相关推荐
**JBPM5.4详解** JBPM,全称Java Business Process Management,是一个开源的工作流管理系统,专注于业务流程的建模、执行和监控。JBPM5.4是该系统的某一版本,它提供了强大的流程定义和执行能力,适用于企业级应用...
**JBPM5.4工作流例子详解** JBPM(JBoss Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的自动化。JBPM5.4是该系统的一个版本,它在之前的基础上进行了优化和增强,提供了更为...
【JBPM5.4 SSH 完整项目整合案例】是一个基于Java企业级开发的实践项目,它涵盖了三个关键的技术栈:Struts2(S),Spring(S)和Hibernate(H),通常称为SSH框架。这个项目旨在展示如何将业务流程管理(BPM)工具...
SSH整合JBPM5.4是将Struts2、Spring3.1、Hibernate4.1这三大主流Java EE框架与业务流程管理(Business Process Management,简称BPM)工具JBPM5.4集成的过程。这个整合旨在提供一个高效、灵活且可扩展的企业级应用...
基于java及JBPM5.4流程引擎技术开发.鉴于JBPM5.4版本较新,而目前网上基本上没有对应的简单实例,更不要说负责案例及项目设计。 本课程是在国内没有任何中文文档的情况下,完全靠翻译国外的英文文档并结合项目应用...
SSH+jBPM5.4是一个基于Java的企业级应用开发框架组合,主要涵盖了Spring、Struts和Hibernate这三大组件,以及业务流程管理(Business Process Management,简称BPM)工具jbpm5.4。这个项目组合提供了从表现层到数据...
最近初学JBPM,费了很大的劲,因为网上的资料要么是代码,要么是文档,看了两天没有头绪,后来静了下来,仔细看代码和文档(通过代码学习文档,通过文档学习代码),再加上前两天知识的积蓄,终于对JBPM5.4,以及Spring+...
jbpm5.4_Final_Api.CHM
**JBPM5.4工作流与Eclipse流程插件安装详解** JBPM(Java Business Process Management)是一款开源的工作流管理系统,它提供了业务流程建模、部署、执行和监控的全面解决方案。JBPM5.4是该系统的一个稳定版本,...
jBPM is a flexible Business Process Management (BPM) Suite. It's light-weight, fully open-source (distributed under Apache license) and written in Java. It allows you to model, execute and monitor ...
SSH2结合JBPM5.4是企业级应用开发中的一项关键技术组合,主要涉及Spring、Struts2和Hibernate这三个核心框架与Business Process Management System (BPMS)的集成,特别是使用jbpm5.4版本。SSH2提供了强大的后端服务...
CSDN首发jBPM5.4 API文档,带索引
**JBPM5.4及Eclipse流程插件安装** JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于业务流程的建模、部署、执行和监控。版本5.4是其历史上的一个重要里程碑,提供了丰富的功能和...
基于java及JBPM5.4流程引擎技术开发.鉴于JBPM5.4版本较新,而目前网上基本上没有对应的简单实例,更不要说负责案例及项目设计。 本课程是在国内没有任何中文文档的情况下,完全靠翻译国外的英文文档并结合项目应用...
jbpm5.4与Spring MVC的集成是企业级应用开发中的常见组合,它结合了jbpm(业务流程管理)的强大功能和Spring MVC的灵活控制层架构。以下将详细阐述这一集成涉及的关键知识点: 1. **jbpm5.4**:jbpm是一个开源的...
基于java及JBPM5.4流程引擎技术开发.鉴于JBPM5.4版本较新,而目前网上基本上没有对应的简单实例,更不要说负责案例及项目设计。 本课程是在国内没有任何中文文档的情况下,完全靠翻译国外的英文文档并结合项目应用...
jbpm5.4信用卡发放流程源代码是一款基于jbpm5.4版本的工作流管理系统实现的信用卡审批流程示例。jbPM(Java Business Process Management)是一个开源的企业级工作流和业务流程管理框架,它允许开发者设计、执行和...
【JBPM教程第二部分:安装与配置JBPM5.4及Eclipse流程插件】 JBPM,全称为Java Business Process Management,是一个开源的工作流和业务流程管理(BPM)平台,它提供了完整的流程生命周期管理,包括设计、部署、...