我们知道jBPM自带例子是运行在其默认的HSQLDB中的, 这个HSQLDB是有其优点, 但一般情况下很少当作项目的正式库来用.
这样,想通过jBPM自带的这个starterKit来往正式库里发布项目定义的流程就不可能了. 那怎么办?
能不能改下jBPM自带starterKit运行的数据库呢? 也就是说让starterKit运行在自己指定的数据库上.
我们这里还是以Mysql为例来梳理总结怎么来修改配置.
修改starterKit关于数据库方面配置前,我们先做下准备工作,先采用"jBPM(五): 部署jBPM所用表到数据库_2
"中的ant命令来建表(并部署自带的websale实例已定义好的流程).
这样准备工作做完好了, 下面来看怎么来改starterKit里关于数据库方面的配置. 以下是具体步骤:
1, 在JBPM_HOME/jbpm-server/server/jbpm/deploy目录下新建一名为"jbpm-ds.xml"的文件, 文件内部如下:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>JbpmDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/jbpm</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>yourmysqlrootpw</password>
<metadata>
<type-mapping>MySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
如果用的不是MySQL, 可参考JBoss Application Server distribution里docs/examples/jca文件夹下的data source定义文件.
2, 拷MySQL的驱动到JBPM_HOME/jbpm-server/server/jbpm/lib文件夹下.
3, 修改JBPM_HOME/jbpm-server/server/jbpm/deploy/jbpm.sar/META-INF文件夹下jboss-service.xml文件的内容. 替换为如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jbpm.db.jmx.JbpmService"
name="jboss.jbpm:name=DefaultJbpm,service=JbpmService"
description="Default jBPM Service">
<attribute name="JndiName">java:/jbpm/JbpmConfiguration</attribute>
<depends>jboss.jca:service=DataSourceBinding,name=JbpmDS</depends>
</mbean>
</server>
也就是将depends中的name由原来的DefaultDS改为JbpmDS.
4,
找到JBPM_HOME/jbpm-server/server/jbpm/deploy/jbpm.sar文件夹下jbpm.sar.cfg.jar文
件, 解压到一个地方, 修改里面的hibernate.cfg.xml文件. 只有两处可改:
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.datasource">java:/JbpmDS</property>
修
改完后, 利用WinRaR压缩jbpm.sar.cfg.jar解压后的文件(一共三个文件(夹): jbpm.cfg.xml,
hibernate.cfg.xml和META-INF文件夹),并命名为jbpm.sar.cfg.jar,替换原来的
jbpm.sar.cfg.jar文件
.
这里有一个注意点,如下图所示:
压缩时选定ZIP, 并将压缩名设置为jbpm.sar.cfg.jar 这样产生的文件名将是
jbpm.sar.cfg.jar.zip, 我们得再通过重命名的方式将".zip"去掉. 这样再替换掉原来的
jbpm.sar.cfg.jar文件.
至此, 我们修改完毕,双击JBPM_HOME\
jbpm-server下的start.bat,启动服务器. 在cmd的显示信息中,我找到如下的证明:
21:03:07,046 INFO [SettingsFactory] RDBMS: MySQL
, version: 5.0.67-community-nt
21:03:07,046 INFO [SettingsFactory] JDBC driver: MySQL-AB JDBC Driver, version: mysql
-connector-java-3.1.7 ( $Date: 2005/01/25 19:11:41 $, $Revision: 1.27.4.54 $ )
21:03:07,078 INFO [Dialect] Using dialect: org.hibernate.dialect.MySQLDialect
这样从结果上也证明我们配置成功!
分享到:
相关推荐
jbpm jbpm4.3.jar DDDDDDDD
启动JBPM服务,检查是否能成功连接到新的数据库,并验证业务流程是否正常运行。如果有任何错误,查看日志并解决问题。 在压缩包中,"jbpm修改数据库.pdf"应该详细解释了上述步骤,而"postgresql.rar"可能包含了...
JBPM数据库表说明 2 1 流程配置类数据库表: 2 1.1 JBPM_PROCESSDEFINITION:流程模版表 2 1.2 JBPM_NODE:流程节点表 2 1.3 JBPM_TRANSITION:流程迁移表 3 1.4 JBPM_ACTION:流程动作表 4 1.5 JBPM_EVENT:...
在 jbpm 4.4 中,主要使用的数据库表有: jbpm4_deployment jbpm4_deployment 表用于存储流程部署的记录,包括流程定义、流程实例、任务等信息。该表通过 dbid 字段关联到 jbpm4_deployprop 和 jbpm4_lob 两个表。...
jbpm数据库表字段详解 jbpm是基于工作流管理系统的开源软件,它提供了强大的工作流引擎,可以自动执行业务流程,并提供了灵活的配置和扩展机制。jbpm的数据库表字段是jbpm系统的核心组件之一,它存储了工作流的所有...
配置文件(如`persistence.xml`)中需指定数据库连接信息和JPA配置。 8. **性能优化** 由于jbpm数据库可能需要处理大量的并发操作,因此数据库性能优化至关重要。这可能涉及到索引优化、查询优化、缓存策略调整等...
【JBPM例子】是关于Java Business Process Management System (JBPM) 的一系列示例代码,用于展示如何在实际项目中使用这个工作流引擎。JBPM是一个开源的企业级平台,主要用于管理和执行业务流程。它提供了全面的...
### jBPM开发:配置EclipseIDE开发环境详解 #### 一、配置开发工具 **1. 安装 Eclipse Designer到 Myeclipse6** - **步骤**: - 将`jbpm-jpdl-suite-3.2.3/designer/eclipse/plugins`目录下的所有文件及文件夹...
在SSH框架中整合JBPM,可以实现流程的可视化设计、部署以及运行时监控。开发者可以通过jbpm-gwt-console(通常包含在webjbpm中)来设计流程图,并将其转换为XML格式的流程定义文件(.bpmn20.xml)。这些文件随后可以...
### JBPM数据库表结构详解 #### 一、概述 JBPM是Java Business Process Model的缩写,是一款开源的工作流引擎,用于实现业务流程管理和自动化的工具。JBPM的设计旨在简化复杂的业务流程,使得非技术人员也能够理解...
- 文件中提到需要配置hibernate.cfg.xml文件,这涉及到为jBPM配置Hibernate会话工厂,通常需要指定数据库方言(org.hibernate.dialect.Oracle9Dialect)和JDBC驱动(oracle.jdbc.driver.OracleDriver)。...
【jbpm5完整的例子】是针对企业业务流程管理(Business Process Management, BPM)的一个实践教程,其中涵盖了jbpm5框架的多个核心功能和用法。jbPM是一个开源的工作流管理系统,它提供了强大的流程定义、执行和监控...
- hibernate.cfg.xml文件是Hibernate的配置文件,用于指定数据库连接参数。原配置适用于HSQLDB,因此我们需要将它改为Oracle的配置。修改以下属性: - `hibernate.dialect`:改为`org.hibernate.dialect.Oracle9...
这个例子中包含了hsqldb数据库,这是一款轻量级、嵌入式的Java数据库,常用于测试环境,因为它不需要单独的服务器进程,可以直接在内存中运行,也可以存储到磁盘。 ### jbpm4核心概念 1. **工作流引擎**: jbpm4的...
【jbpm4.4+s2sh请假流程例子】是一个典型的结合了jbpm4.4工作流引擎和Struts2、Spring、Hibernate(S2SH)框架的实战项目,旨在演示如何在企业级应用中实现一个完整的请假流程。在这个例子中,jbpm4.4作为流程管理的...
在本例子中,Spring可能被用来管理和协调各个组件的生命周期,以及提供与数据库的连接管理。 【Hibernate】 Hibernate是一个强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。通过...
在 jbpm 中,数据库扮演着存储流程定义、实例和运行时数据的关键角色。本文将详细介绍jbpm数据库中的主要表及其相互关系,以便理解jbpm如何存储和管理流程信息。 **1. JBPM_PROCESSDEFINITION** 这是流程模板表,...
在深入探讨如何使用JBPM创建数据库的过程中,我们首先需要了解JBPM是什么以及它与数据库创建之间的联系。JBPM是JBoss流程管理器(JBoss Business Process Management)的简称,这是一个开源的工作流引擎,用于自动化...
- EVENT_:动作中指定的事件,关联到JBPM_EVENT表。 - TIMERNAME_、DUEDATE_ 和 REPEAT_:与定时器相关的参数。 - TRANSITIONNAME_:动作执行后跳转的目标Transition。 - TIMERACTION_:定时器动作的代理类。 -...
【jbpm5 web整合例子】是一个关于如何将JBPM5工作流引擎与Web应用程序整合的实践项目,适合那些想要在Web环境中使用业务流程管理(BPM)功能的开发者。JBPM5是一个开源的工作流和业务规则管理系统,它提供了一整套...