论坛首页 Java企业应用论坛

关于jboss之jbpm

浏览 2688 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-03-03   最后修改:2010-03-10
这段时间在搞JBPM,用spring与jbpm进行整合,搞了好几天,今天总算是搞完了,把一些注意事项在这里记一下,
我使用的环境是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>

配置文件基本上就是上面的那样子了
下面把我的引用包的图片发一张,应该不会有问题了,
唉,高兴太早,还是会出那个找不到factory method的问题
不想再写新的了,找不到factory method是因为我使用aop对SpringHelper类进行了代理

  • 大小: 43.9 KB
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics