这段时间在搞JBPM,用spring与jbpm进行整合,搞了好几天,今天总算是搞完了,把一些注意事项在这里记一下,
我使用的环境是spring2.5+jbpm4.3+hibernate3.X,暂时只是建环境,到目前为止,启动服务器是OK了
配置文件
jbpm.cfg.xml
jbpm.spring.default.xml
jbpm.tx.spring.cfg.xml
这一个文件很重要,与事务相关
applicationContext.xml
applicationContext-jbpm4.xml
注:我最开始的时候使用的是jbpm4.0CR1,里面的配置如下:
启动Tomcat的时候,总说找不到buildProcessEngine方法,我把源码看了一遍又一遍,总找不到错误,最后换成了4.3才OK
配置文件基本上就是上面的那样子了
下面把我的引用包的图片发一张,应该不会有问题了,
[color=red]唉,高兴太早,还是会出那个找不到factory method的问题[/color]
[color=red]不想再写新的了,找不到factory method是因为我使用aop对SpringHelper类进行了代理[/color]
我使用的环境是spring2.5+jbpm4.3+hibernate3.X,暂时只是建环境,到目前为止,启动服务器是OK了
配置文件
jbpm.cfg.xml
<import resource="jbpm/jbpm.spring.default.cfg.xml" />
<import resource="jbpm/jbpm.tx.spring.cfg.xml" />
<import resource="jbpm.jpdl.cfg.xml" />
<import resource="jbpm.identity.cfg.xml" />
<import resource="jbpm.jobexecutor.cfg.xml" />
<import resource="jbpm/jbpm.mail.templates.examples.xml" />
jbpm.spring.default.xml
<!--
这一块是要注掉的,因为hibernate的session要交给spring管理
<hibernate-configuration>
<cfg resource="jbpm.hibernate.cfg.xml" />
</hibernate-configuration>
<hibernate-session-factory />
-->
jbpm.tx.spring.cfg.xml
这一个文件很重要,与事务相关
<command-service>
<retry-interceptor />
<environment-interceptor />
<!--
<standard-transaction-interceptor/>
-->
<spring-transaction-interceptor />
</command-service>
<!--
<transaction/>
-->
<spring-transaction />
<hibernate-session current="true"/>
applicationContext.xml
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingLocations">
<list>
<value>classpath*:jbpm.repository.hbm.xml</value>
<value>classpath*:jbpm.execution.hbm.xml</value>
<value>classpath*:jbpm.history.hbm.xml</value>
<value>classpath*:jbpm.task.hbm.xml</value>
<value>classpath*:jbpm.identity.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
......
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
applicationContext-jbpm4.xml
<bean id="springHelper"
class="org.jbpm.pvm.internal.processengine.SpringHelper">
<property name="jbpmCfg" value="jbpm/jbpm.cfg.xml" />
</bean>
<bean id="processEngine" factory-bean="springHelper"
factory-method="createProcessEngine" />
注:我最开始的时候使用的是jbpm4.0CR1,里面的配置如下:
<bean id="jbpmConfiguration" class="org.jbpm.pvm.internal.cfg.SpringConfiguration">
<constructor-arg value="jbpm/jbpm.cfg.xml" />
</bean>
<bean id="processEngine" factory-bean="jbpmConfiguration" factory-method="buildProcessEngine" />
启动Tomcat的时候,总说找不到buildProcessEngine方法,我把源码看了一遍又一遍,总找不到错误,最后换成了4.3才OK
<bean id="jbpmTemplate" class="org.jbpmside.console.gui.support.JbpmTemplate">
<property name="processEngine" ref="processEngine"/>
<property name="dataSource" ref="dataSource"/>
</bean>
<!--如果在jbpm.cfg.xml中没有import jbpm.jobexecutor.cfg.xml,这里这样配置就会出问题,原因我也不清楚,还没有去研究-->
<bean id="jobExecutor" class="org.jbpmside.console.gui.job.JobExecutorFactoryBean">
<property name="processEngine" ref="processEngine"/>
</bean>
配置文件基本上就是上面的那样子了
下面把我的引用包的图片发一张,应该不会有问题了,
[color=red]唉,高兴太早,还是会出那个找不到factory method的问题[/color]
[color=red]不想再写新的了,找不到factory method是因为我使用aop对SpringHelper类进行了代理[/color]