日期:2014-05-16 浏览次数:20426 次
???? 我们知道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
??? ??? 这样从结果上也证明我们配置成功!