我是照下面做的,发现了一些问题,如下:修改build.xml文件,在"生成Hibernate配置文件"的任务中,添加一个属性:
mergecfgxml="${basedir}/hibernate_for_jbpm.cfg.xml"
在build.xml加了这句话之后会报错,错误如下:D:\workspace\OA\build.xml:24: org.picocontainer.PicoIntrospectionException: Unknown property 'mergecfgxml' in class org.xdoclet.plugin.hibernate.HibernateConfigPlugin Existing properties:{defaultentitymode=java.beans.PropertyDescripto.....
还有,怎么才知道JBPM集成成功?集成JBPM到OA系统,并实现JbpmFacade接口 - 第一步:创建数据库表
* 拷贝依赖包:bsh.jar/jcr-1.0.jar/jbpm-identity.jar/jbpm-jpdl.jar
* 修改hibernate.cfg.xml,添加JBPM的映射配置,以及缓存属性的配置
- 拷贝JBPM中的hibernate配置文件到当前项目
- 修改build.xml文件,在"生成Hibernate配置文件"的任务中,添加一个属性:
mergecfgxml="${basedir}/hibernate_for_jbpm.cfg.xml"
* 因为JBPM中的User类与OA系统中的User类在名称上有冲突,所以需要修改OA
系统中的User类的auto-import="false",并更改查询User对象的HQL语句,加上
全路径的类名进行查找,可以参考UserManagerImpl类。
- 第二步:与spring集成
* 集成spring与JBPM,需要用到第三方的类库:spring-modules-0.8.zip
* 将其中的spring-modules-jbpm31.jar拷贝到web-inf/lib下面即可
* 集成JBPM与spring的方法是:将JbpmConfiguration对象交给spring来创建
* 所以,需要在spring配置文件里面配置JbpmConfiguration对象的创建
<bean id="jbpmConfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
<property name="configuration" value="classpath:jbpm.cfg.xml"></property>
</bean>
* 这个时候,需要拷贝jbpm.cfg.xml到类路径中
(可以从jbpm-jpdl-3.2.GA\src\jpdl\org\jbpm目录中拷贝(default.jbpm.cfg.xml)文件,
并重命名即可)
- 第三步:如何实现业务逻辑类
* 用到jbpmConfiguration的时候,需要注入
* 当我们使用jbpmContext对象来操纵JBPM的时候,需要将JbpmContext内部的Hibernate session对象设置为当前的
hibernate session对象。
private JbpmContext getJbpmContext(){
JbpmContext context = jbpmConfiguration.createJbpmContext();
context.setSession(getSession());
return context;
}
* 当我们使用jbpmContext操纵JBPM数据结束的时候,注意不要关闭jbpmContext!!
mergecfgxml="${basedir}/hibernate_for_jbpm.cfg.xml"
在build.xml加了这句话之后会报错,错误如下:D:\workspace\OA\build.xml:24: org.picocontainer.PicoIntrospectionException: Unknown property 'mergecfgxml' in class org.xdoclet.plugin.hibernate.HibernateConfigPlugin Existing properties:{defaultentitymode=java.beans.PropertyDescripto.....
还有,怎么才知道JBPM集成成功?集成JBPM到OA系统,并实现JbpmFacade接口 - 第一步:创建数据库表
* 拷贝依赖包:bsh.jar/jcr-1.0.jar/jbpm-identity.jar/jbpm-jpdl.jar
* 修改hibernate.cfg.xml,添加JBPM的映射配置,以及缓存属性的配置
- 拷贝JBPM中的hibernate配置文件到当前项目
- 修改build.xml文件,在"生成Hibernate配置文件"的任务中,添加一个属性:
mergecfgxml="${basedir}/hibernate_for_jbpm.cfg.xml"
* 因为JBPM中的User类与OA系统中的User类在名称上有冲突,所以需要修改OA
系统中的User类的auto-import="false",并更改查询User对象的HQL语句,加上
全路径的类名进行查找,可以参考UserManagerImpl类。
- 第二步:与spring集成
* 集成spring与JBPM,需要用到第三方的类库:spring-modules-0.8.zip
* 将其中的spring-modules-jbpm31.jar拷贝到web-inf/lib下面即可
* 集成JBPM与spring的方法是:将JbpmConfiguration对象交给spring来创建
* 所以,需要在spring配置文件里面配置JbpmConfiguration对象的创建
<bean id="jbpmConfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
<property name="configuration" value="classpath:jbpm.cfg.xml"></property>
</bean>
* 这个时候,需要拷贝jbpm.cfg.xml到类路径中
(可以从jbpm-jpdl-3.2.GA\src\jpdl\org\jbpm目录中拷贝(default.jbpm.cfg.xml)文件,
并重命名即可)
- 第三步:如何实现业务逻辑类
* 用到jbpmConfiguration的时候,需要注入
* 当我们使用jbpmContext对象来操纵JBPM的时候,需要将JbpmContext内部的Hibernate session对象设置为当前的
hibernate session对象。
private JbpmContext getJbpmContext(){
JbpmContext context = jbpmConfiguration.createJbpmContext();
context.setSession(getSession());
return context;
}
* 当我们使用jbpmContext操纵JBPM数据结束的时候,注意不要关闭jbpmContext!!
http://www.family168.com/jbpm4/video.html