`
graying
  • 浏览: 27279 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JBPM5.4的demo迁至MySQL

    博客分类:
  • jbpm
阅读更多
三年没写博客了。把这篇记下来可能方便后来人——

目的: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里面观察吧
分享到:
评论
1 楼 atgoingguoat 2017-09-22  
能不能发布你成功的环境例子全部东西啊

相关推荐

    JBPM5.4例子程序

    **JBPM5.4详解** JBPM,全称Java Business Process Management,是一个开源的工作流管理系统,专注于业务流程的建模、执行和监控。JBPM5.4是该系统的某一版本,它提供了强大的流程定义和执行能力,适用于企业级应用...

    JBPM5.4 工作流例子

    **JBPM5.4工作流例子详解** JBPM(JBoss Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的自动化。JBPM5.4是该系统的一个版本,它在之前的基础上进行了优化和增强,提供了更为...

    JBPM5.4 SSH 完整项目整合案例

    【JBPM5.4 SSH 完整项目整合案例】是一个基于Java企业级开发的实践项目,它涵盖了三个关键的技术栈:Struts2(S),Spring(S)和Hibernate(H),通常称为SSH框架。这个项目旨在展示如何将业务流程管理(BPM)工具...

    ssh整合jbpm5.4

    SSH整合JBPM5.4是将Struts2、Spring3.1、Hibernate4.1这三大主流Java EE框架与业务流程管理(Business Process Management,简称BPM)工具JBPM5.4集成的过程。这个整合旨在提供一个高效、灵活且可扩展的企业级应用...

    第二部分、安装和配置JBPM5.4及Eclipse流程插件安装.rar

    基于java及JBPM5.4流程引擎技术开发.鉴于JBPM5.4版本较新,而目前网上基本上没有对应的简单实例,更不要说负责案例及项目设计。 本课程是在国内没有任何中文文档的情况下,完全靠翻译国外的英文文档并结合项目应用...

    ssh+jbpm5.4 (2)

    SSH+jBPM5.4是一个基于Java的企业级应用开发框架组合,主要涵盖了Spring、Struts和Hibernate这三大组件,以及业务流程管理(Business Process Management,简称BPM)工具jbpm5.4。这个项目组合提供了从表现层到数据...

    JBPM5.4案例与用户指南

    最近初学JBPM,费了很大的劲,因为网上的资料要么是代码,要么是文档,看了两天没有头绪,后来静了下来,仔细看代码和文档(通过代码学习文档,通过文档学习代码),再加上前两天知识的积蓄,终于对JBPM5.4,以及Spring+...

    jbpm5.4_Final_Api.CHM

    jbpm5.4_Final_Api.CHM

    JBPM5.4工作流 Eclipse流程插件安装

    **JBPM5.4工作流与Eclipse流程插件安装详解** JBPM(Java Business Process Management)是一款开源的工作流管理系统,它提供了业务流程建模、部署、执行和监控的全面解决方案。JBPM5.4是该系统的一个稳定版本,...

    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

    SSH2结合JBPM5.4是企业级应用开发中的一项关键技术组合,主要涉及Spring、Struts2和Hibernate这三个核心框架与Business Process Management System (BPMS)的集成,特别是使用jbpm5.4版本。SSH2提供了强大的后端服务...

    jBPM5.4 API

    CSDN首发jBPM5.4 API文档,带索引

    JBPM5.4及Eclipse流程插件安装

    **JBPM5.4及Eclipse流程插件安装** JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于业务流程的建模、部署、执行和监控。版本5.4是其历史上的一个重要里程碑,提供了丰富的功能和...

    第四部分、SSH2结合JBPM5.4.rar

    基于java及JBPM5.4流程引擎技术开发.鉴于JBPM5.4版本较新,而目前网上基本上没有对应的简单实例,更不要说负责案例及项目设计。 本课程是在国内没有任何中文文档的情况下,完全靠翻译国外的英文文档并结合项目应用...

    jbpm5.4 spring mvc 集成

    jbpm5.4与Spring MVC的集成是企业级应用开发中的常见组合,它结合了jbpm(业务流程管理)的强大功能和Spring MVC的灵活控制层架构。以下将详细阐述这一集成涉及的关键知识点: 1. **jbpm5.4**:jbpm是一个开源的...

    第三部分、使用JBOSS7.1及对JBPM5.4事件学习.rar

    基于java及JBPM5.4流程引擎技术开发.鉴于JBPM5.4版本较新,而目前网上基本上没有对应的简单实例,更不要说负责案例及项目设计。 本课程是在国内没有任何中文文档的情况下,完全靠翻译国外的英文文档并结合项目应用...

    jbpm5.4信用卡发放流程源代码

    jbpm5.4信用卡发放流程源代码是一款基于jbpm5.4版本的工作流管理系统实现的信用卡审批流程示例。jbPM(Java Business Process Management)是一个开源的企业级工作流和业务流程管理框架,它允许开发者设计、执行和...

    jbpm教程 第二部分、(安装和配置JBPM5.4及Eclipse流程插件安装)

    【JBPM教程第二部分:安装与配置JBPM5.4及Eclipse流程插件】 JBPM,全称为Java Business Process Management,是一个开源的工作流和业务流程管理(BPM)平台,它提供了完整的流程生命周期管理,包括设计、部署、...

Global site tag (gtag.js) - Google Analytics