jbpm 部署问题一

     我们经常在搭建jbpm环境的时候遇到莫名其妙的问题。比如:message.hbm.xml not found,如这样的问题就很容易让人想起在导入jbpm jar包的问题,怀疑是否包的完整性。逐步排查可以将这种类似的问题解决。

    昨天在将流程定义部署到数据中遇见了一个问题,

 

  ERROR    - *** ERROR: line 3:47: unexpected token: executeNodeJob hql.PARSER        (ErrorCounter.java:35)[main] 2008-07-28 17:44:26,453 
ERROR    - *** ERROR: line 4:47: unexpected token: t hql.PARSER        (ErrorCounter.java:35)[main] 2008-07-28 17:44:26,468 
ERROR    - *** ERROR: line 3:36: unexpected token: job hql.PARSER        (ErrorCounter.java:35)[main] 2008-07-28 17:44:26,484 
ERROR    - *** ERROR: line 3:38: unexpected token: timer hql.PARSER        (ErrorCounter.java:35)[main] 2008-07-28 17:44:26,484 
ERROR    - *** ERROR: line 3:31: expecting "set", found 'job' hql.PARSER        (ErrorCounter.java:35)[main] 2008-07-28 17:44:26,484 
ERROR    - Error in named query: GraphSession.deleteJobsForProcessInstance impl.SessionFactoryImpl (SessionFactoryImpl.java:300)[main] 2008-07-28

 

找了好久,在山穷水尽疑无路的时候,找到这个问题的原因,是jbpm提供的jar有问题。具体修改方法如下

   将jbpm-3.1.2/jbpm-3.1.2/org/jbpm/db/hibernate.queries.hbm.xml修改其对应的部分

  修改成如下形式

<query name="SchedulerSession.deleteTimersForProcessInstance">
    <![CDATA[
      delete from org.jbpm.scheduler.exe.Timer
      where processInstance = :processInstance
    ]]>
  </query>

  <query name="SchedulerSession.suspendTimersForToken">
    <![CDATA[
      update org.jbpm.scheduler.exe.Timer
      set isSuspended = true
      where token = :token
    ]]>
  </query>

  <query name="SchedulerSession.resumeTimersForToken">
    <![CDATA[
      update org.jbpm.scheduler.exe.Timer
      set isSuspended = false
      where token = :token
    ]]>
  </query>

然后,就ok了。为遇到同样问题的朋友,提供解决问题的捷径

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值