从jbpm3.1.2到jbpm3.2.3

笔者以前用的jbpm3.1.2。。。

使用jbpm的hibernate自己链接数据库,修改hibernate.cfg.xml数据库链接部分

 

  1.  <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
  2.     <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
  3.     <property name="hibernate.connection.url">jdbc:jtds:sqlserver://localhost:1433/bizfocus52;user=sa;password=sa</property>
  4.     <property name="hibernate.connection.username">sa</property>
  5.     <property name="hibernate.connection.password">sa</property>

 

放在WEB-INF下的classes中。。。

 

然后将jbpm的jar和jbpm所依赖的jar文件拷到你的工程的lib下面。。

就可以用jbpm了。。。

 

如果你想用jbpm的time服务。。。那么需要在web.xml中添加如下的配置

 

  1. <servlet>   
  2. <servlet-name>JbpmThreadsServlet</servlet-name>   
  3. <servlet-class>org.jbpm.web.JbpmThreadsServlet</servlet-class>   
  4. <load-on-startup>1</load-on-startup>   
  5. </servlet>   
  6. <servlet-mapping>   
  7. <servlet-name>JbpmThreadsServlet</servlet-name>   
  8. <url-pattern>/threads</url-pattern>   
  9. </servlet-mapping> 

现在,升级到3.2.3

同样把hibernate.cfg.xml做一些修改。。。(注意:两个版本的所引用的mapping文件不一样,先删除以前的,然后修改新的)

放在classpath下面。。。

同时把jbpm.cfg.xml也放在classpath中。。

把jbpm的jar文件jpdl文件放在lib中。。一切没有问题。。

 

 

其实后面才是我想要说的。。

关于jbpm的提供的源码jpdl。。。

里面没有带build.xml文件。。。自己建立了一个。。。

用ant一下。发现少了包(commons-fileupload-1.0.jar和jackrabbit-core-1.3.3.jar)

注:jackrabbit-core-1.4.6.jar这个去替换jackrabbit-core-1.3.3.jar报错。。看来jackrabbit-core-1.3.3.jar是兼容3.3.2的jbpm。。

 

另外。。感觉3.1.2和3.2.3所用的jdk的版本不一样。。

 

3.2.3中。。。

 

  1. package org.jbpm.jpdl.el.impl;
  2. import java.lang.reflect.InvocationTargetException;
  3. import java.lang.reflect.Method;
  4. import org.apache.commons.logging.Log;
  5. import org.apache.commons.logging.LogFactory;
  6. public class BeanMethod {
  7.   Method method;
  8.   
  9.   public BeanMethod(Method method) {
  10.     this.method = method;
  11.   }
  12.   public Object invoke(Object object) throws InvocationTargetException, IllegalArgumentException, IllegalAccessException {
  13.     log.debug("invoking expression method '"+method.getName()+"'");
  14.     return method.invoke(object,null);
  15.   }
  16.   
  17.   private static Log log = LogFactory.getLog(BeanMethod.class);
  18. }

第19行代码:return method.invoke(object,null);

 

编译不能通过。。

 

第19行代码:return method.invoke(object);

 

编译通过。。。

 

另外关于3.2.3的time服务,是否需要配置servlet。。尚未试验。。大家可以试试。。

 

另外:有个问题好像是jbpm的bug。。。

 

用当前任务实例,取上个任务节点(同一个流程实例中)的用户(actor-id),总是找不到。。。

 

 tasks.getPreviousActorId();

 

获取的是null。。。。我觉得是jbpm的一个bug

 

 

 

 

 

 

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值