欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

jBPM4與Spring整合的2種方式

系統 1798 0

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

Xml代碼?
  1. <!-- ??
  2. ??? < hibernate-configuration > ??
  3. ????? < cfg ? resource = "jbpm.hibernate.cfg.xml" ? /> ??
  4. ??? </ hibernate-configuration > ??
  5. ??
  6. ??? < hibernate-session-factory ? /> ??
  7. ?-- > ??
      部分是在jBPM4中創建了sessionFactory,而我們只需要一個sessionFactory。既然要將jBPM4與Spring的整合,那就希望由Spring來統一管理sessionFactory和事務,在Spring的配置文件中構造一個sessionFactory。ProcessEngine是jBPM4的Facade模式,一切由它與外部交互, 
? 第2步:在Spring配置文件中寫一個bean:
    
Xml代碼
  1. < bean ? id = "processEngine" ? class = "com.family168.jbpm.ProcessEngineFactoryBean" > ??
  2. ???????? < property ? name = "sessionFactory" ? ref = "sessionFactory" /> ??
  3. ? </ bean > ??
      <bean id="processEngine" class="com.family168.jbpm.ProcessEngineFactoryBean">
        <property name="sessionFactory" ref="sessionFactory"/>
 </bean>
    


第3步:在ProcessFactoryBean中注入SessionFactory:

Java代碼?
        public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
  }
    


第4步:在ProcessFactoryBean中創建一個SpringConfiguration,然后將sessionFactory放入SpringConfiguration中,再從SpringConfiguration得到processEngine,代碼如下:
????

Java代碼?
      public void afterPropertiesSet() {
        SpringConfiguration cfg = new      SpringConfiguration(jbpmConfigurationLocation);
        cfg.setApplicationContext(applicationContext);

        cfg.setSessionFactory(sessionFactory);
        this.processEngine = cfg.buildProcessEngine();
    }
    


然后我們的工作就可以開展了,可以從processEngine得到所有的service。比如:
??

Java代碼?
       ProcessEngine processEngine = (ProcessEngine) ctx.getBean("processEngine");
    RepositoryService repositoryService = processEngine.getRepositoryService();。
    


第2種:獲得Hibernate的SessionFactory。
? 第1步:與第一種方式的第1步一樣。
? 第2步:更改jbpm.tx.spring.cfg.xml配置文件:
? 將?????
????

?
Xml代碼 復制代碼
  1. < spring-transaction-interceptor ? current = "true" ? /> ??
      <spring-transaction-interceptor current="true" />
    


? 然后將
??

Xml代碼 復制代碼
       <transaction/>
    <hibernate-session/>
    


? 改成

Xml代碼
       <hibernate-session current="true"/>
    


這部分修改是將jBPM4創建的spring事務和hibernate的session改成從當前的ThreadLocal中獲得session和事務。
第3步:在Spring配置文件中寫bean,processEngine和template:

Xml代碼
      <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" />

    <bean id="jbpmTemplate" class="com.family168.jbpm.JbpmTemplate">
        <property name="processEngine" ref="processEngine"/>
        <property name="dataSource" ref="dataSource"/>
    </bean>
    


processEngine直接使用factory-bean指向jbpmConfiguration,也就是org.jbpm.pvm.internal.cfg.SpringConfiguration,并從SpringConfiguration的buildProcessEngine中獲得。
jbpmTemplate主要是控制事務,在processEngine外面創建事務,這樣使用的時候會先調用jbpmTemplate,再調用processEngine,否則它會說事務沒有啟動。在jbpmTemplate中注入processEngine:
???

Java代碼?
      public void setProcessEngine(ProcessEngine processEngine) {
        this.processEngine = processEngine;
    }
    


??? 這里我的理解是我們在上面已經將事務改成從當前的Threadlocal中獲得,所以jBPM4是必須當前有事務,如果我沒有創建事務的話,在使用processEngine時就會說事務沒有啟動。所以我們就封裝了一個jbpmTemplate,如果我的理解有誤還請大家指出。
?? 第1種整合方式我會提供一個例子,第2種整合方式之后可以看我們的jBPM-Side里的控制臺。

jBPM4與Spring整合的2種方式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 免费国产一区二区三区 | 亚洲精品专区 | 国产高清精品在线 | 欧美一区不卡 | 毛片激情永久免费 | 国产精品视频久久久 | 中文字幕日韩欧美一区二区三区 | 欧美ol丝袜高跟秘书在线播放 | 五月婷婷爱 | 网站免黄| 高清国产一区二区三区四区五区 | 亚洲一区国产视频 | 日本免费成人 | 日韩网新片免费 | 欧美久久久久 | 超碰在线97国产 | 日日摸夜夜添夜夜添亚洲女人 | 日韩视频在线免费观看 | 亚洲色图国产 | 国产成人免费高清激情明星 | 亚洲午夜av | 丁香婷婷电影 | 新久草视频 | 中国免费毛片 | 久久久婷 | 色综合久久中文色婷婷 | 久草在钱 | 丁香亚洲 | 亚洲一在线 | 久久精品视频5 | 成人亚洲网 | 一级黄色毛片 | 亚洲欧美综合日韩字幕v在线 | 精品一区二区三区18 | yw在线播放 | a天堂资源在线观看 | 小泽玛利亚一区二区 | 国产成人a | www.yw193.com| 欧美一区二区在线免费观看 | 欧美激情视频网站 |