首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

jBPM4与Spring调整的2种方式

2012-11-03 
jBPM4与Spring整合的2种方式要知道如何将jBPM4与Spring整合,可以先了解jBPM4的IOC容器,如果不了解的可以先

jBPM4与Spring整合的2种方式
   要知道如何将jBPM4与Spring整合,可以先了解jBPM4的IOC容器,如果不了解的可以先看ronghao的这篇文章http://www.iteye.com/topic/381607,是介绍jBPM4的IOC容器的。下面我们介绍jBPM与Spring整合的2种方式:
   第一种:手工将SessionFactory放入jBPM4中。
   第1步:更改jbpm.spring.default.cfg.xml配置文件,将下面的部分注释掉


   注释的部分是在jBPM4中创建了sessionFactory,而我们只需要一个sessionFactory。既然要将jBPM4与Spring的整合,那就希望由Spring来统一管理sessionFactory和事务,在Spring的配置文件中构造一个sessionFactory。ProcessEngine是jBPM4的Facade模式,一切由它与外部交互,
  第2步:在Spring配置文件中写一个bean:

第3步:在ProcessFactoryBean中注入SessionFactory:

  然后将
  

processEngine直接使用factory-bean指向jbpmConfiguration,也就是org.jbpm.pvm.internal.cfg.SpringConfiguration,并从SpringConfiguration的buildProcessEngine中获得。
jbpmTemplate主要是控制事务,在processEngine外面创建事务,这样使用的时候会先调用jbpmTemplate,再调用processEngine,否则它会说事务没有启动。在jbpmTemplate中注入processEngine:
   
</bean>
如何让processengine和这个数据源相关联?我用的是你的第二种方法,但是template没有用,现在的情况是processengine无法启动流程,总说流程找不到,可我在junittest中是可以的。        <property name="dataSource" ref="dataSource"/> 
    </bean> 

而我们原来的项目用的是hibernate的template,因此我们这里不大可能用JbpmTemplate,目前我这里已经获得了processEngine,但是一旦启动流程,程序总是报未定义某流程,可是如果我用junit来跑,就没有问题。我怀疑是processEngine没有和现有的数据源关联,即DataSourceWbpm。所以我想知道如何让processengine和这个数据源相关联。也就是你在com.family168.jbpm.JbpmTemplate会做什么事情。

        <property name="dataSource" ref="dataSource"/>
    </bean> 
这里的datasource是连数据库做报表用的。<import resource="jbpm.identity.cfg.xml" />
这两个没有。
(2)我看了您的例子,把它集成到我的架构里面有错误。
我的架构struts2+spring2.0.8+hibernate3.0+quartz1.6.5
我下的jbpm4,也想集成进来。按着第一种方式集成的,当运行到 SpringConfiguration cfg = new      SpringConfiguration(jbpmConfigurationLocation); 这的时候,报了
Invocation of init method failed; nested exception is java.lang.AbstractMethodError: org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;
Caused by:
java.lang.AbstractMethodError: org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;这样的错误。
我想问您一下,这是为什么。我只引用了jbpm.jar.还需要什么包吗?
(3)spring-modules-jbpm31.jar这个包在jbpm4下还适用吗?     
    <bean id="examplejbpmAction" ref="processEngine"></property>
</bean>
错误信息:
No unique bean of type [org.jbpm.api.ProcessEngine] is defined: expected single matching bean but found 2: [jbpmConfiguration, processEngine]
我应该怎么解决呢,我知道 jbpmConfiguration实现了processEngine,但这有什么关系呢,我在ExamplejbpmAction里面只想用那个processEngine呀。
搂主这个JbpmTemplate文件到底在哪里,可以给下代码吗谢谢,我的邮箱240597563@qq.com 17 楼 zizibj 2010-01-13   "更改jbpm.spring.default.cfg.xml配置文件,将下面的部分注释掉 "
这句什么意思,是要修改jbpm.jar里的配置文件吗?可我试了下修改不了,是要根据jbpm4.jar的原文件修改好重新生成jbpm.jar吗?

有谁帮我解答下,谢谢

热点排行