您好,欢迎来到步遥情感网。
搜索
您的当前位置:首页jbpm连接mysql数据库(续)

jbpm连接mysql数据库(续)

来源:步遥情感网

前面我讲过的使用部署文件连接mysql的方式只是创建了基础数据库,在实际环境中我发现并不能将jbpm的流程持久化到数据库中,下面我又研究了下如何将jbpm的流程持久化到数据库中.

这次我使用的环境是jbpm3.2.6.sp1的环境(主要是考虑到以后要使用eclipse3.4的开发环境)

首先将mysql的驱动程序mysql-connector-java-5.1.7-bin.jar与jta-1.1.jar(hibernate持久化需要用到这个jar,否则报错)放在classpath路径下。

修改src/main/config/hibernate.cfg.xml配置文件,修改过程同我原来的文章。

编辑src/main/config/jbpm.cfg.xml,注意,这个文件是关键,这个文件是整个jbpm的主配置文件,其缺省什么都没有,主要根节点,所以你可以运行jbpm的流程,但是不能做持久化,要做持久化必须配置这个文件,其默认配置如下:

<jbpm-configuration>

  <jbpm-context>

<service name="tx" factory="org.jbpm.tx.TxServiceFactory" />

    <service name='persistence' factory='org.jbpm.persistence.db.DbPersistenceServiceFactory' />

    <service name='message' factory='org.jbpm.msg.db.DbMessageServiceFactory' />

    <service name='scheduler' factory='org.jbpm.scheduler.db.DbSchedulerServiceFactory' />

    <service name='logging' factory='org.jbpm.logging.db.DbLoggingServiceFactory' />

    <service name='authentication' factory='org.jbpm.security.authentication.DefaultAuthenticationServiceFactory' />

  </jbpm-context>

 

  <!-- configuration resource files pointing to default configuration files in jbpm-{version}.jar -->

  <string name='resource.hibernate.cfg.xml' value='hibernate.cfg.xml' />

 

  <!-- <string name='resource.hibernate.properties' value='hibernate.properties' /> -->

  <string name='resource.business.calendar' value='org/jbpm/calendar/jbpm.business.calendar.properties' />

  <string name='resource.default.modules' value='org/jbpm/graph/def/jbpm.default.modules.properties' />

  <string name='resource.converter' value='org/jbpm/db/hibernate/jbpm.converter.properties' />

  <string name='resource.action.types' value='org/jbpm/graph/action/action.types.xml' />

  <string name='resource.node.types' value='org/jbpm/graph/node/node.types.xml' />

  <string name='resource.parsers' value='org/jbpm/jpdl/par/jbpm.parsers.xml' />

  <string name='resource.varmapping' value='org/jbpm/context/exe/jbpm.varmapping.xml' />

  <string name='resource.mail.templates' value='jbpm.mail.templates.xml' />

 

  <int name='jbpm.byte.block.size' value="1024" singleton="true" />

  <bean name='jbpm.task.instance.factory' class='org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl' singleton='true' />

  <bean name='jbpm.variable.resolver' class='org.jbpm.jpdl.el.impl.JbpmVariableResolver' singleton='true' />

  <string name='jbpm.mail.smtp.host' value='localhost' />

  <bean   name='jbpm.mail.address.resolver' class='org.jbpm.identity.mail.IdentityAddressResolver' singleton='true' />

  <string name='jbpm.mail.from.address' value='jbpm@noreply' />

 

  <bean name='jbpm.job.executor' class='org.jbpm.job.executor.JobExecutor'>

    <field name='jbpmConfiguration'><ref bean='jbpmConfiguration' /></field>

    <field name='name'><string value='JbpmJobExecutor' /></field>

    <field name='nbrOfThreads'><int value='1' /></field>

    <field name='idleInterval'><int value='5000' /></field>

    <field name='maxIdleInterval'><int value='3600000' /></field> <!-- 1 hour -->

    <field name='historyMaxSize'><int value='20' /></field>

    <field name='maxLockTime'><int value='600000' /></field> <!-- 10 minutes -->

    <field name='lockMonitorInterval'><int value='60000' /></field> <!-- 1 minute -->

    <field name='lockBufferTime'><int value='5000' /></field> <!-- 5 seconds -->

  </bean>

 

</jbpm-configuration>

然后你再运行你的junit应用,看看是不是被持久化了呢?

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务