捕風之巢

          統計

          留言簿(3)

          java友情鏈接

          閱讀排行榜

          評論排行榜

          事務隔離EJB的使用

          業務操作的事務性和事務隔離性,是 J2EE 開發中一個非常重要的功能。
          比如,在業務操作中的系統日志和權限日志,就很好的體現了事務原子性和事務隔離的應用。

          這里,主要講一下事務隔離 EJB 的使用。

          ?為了能在具有事務的 action 中調用不允許事務支持的外部系統 EJB ,如 UMSAO ,增加了事務隔離 EJB

          Facade4IsolateService.java
          Facade4IsolateServiceEJB.java
          Facade4IsolateServiceHome.java
          public ? interface ?Facade4IsolateService? extends ?EJBLocalObject… {
          ????
          public ? void ?getReadPrivList(List?permissionList,?List?userTypeList);
          }

          public ? class ?Facade4IsolateServiceEJB? extends ?PafaSlsSessionBean? {
          ????
          public ? void ?getReadPrivList(List?permissionList,?List?userTypeList) {
          ????????…?…
          ????}

          }

          public ? interface ?Facade4IsolateServiceHome? extends ?EJBLocalHome
          {
          ????
          public ?Facade4IsolateService?create()? throws ?CreateException;
          }


          需要在相關文件中配置:

          biz-context.xml
          "ejb/test/Facade4IsolateService"在weblogic-ejb-jar.xml中配置,必須同名。

          < bean? id ="isolateEJB" ????????class ="com.test.app.lwc.service.remoting.access.ejb.LocalStatelessSessionProxyFactoryBean" ?????lazy-init ="true" >
          ????????
          < property? name ="jndiName" >
          ????????????
          < value > ejb/test/Facade4IsolateService </ value >
          ????????
          </ property >
          ????????
          < property? name ="businessInterface" >
          ????????????
          < value >
          ????????????????com.test.biz.service.ejb.Facade4IsolateService
          ????????????
          </ value >
          ????????
          </ property >
          ????????
          < property? name ="jndiTemplate" >
          ????????????
          < ref? local ="jndiTemplate" ? />
          ????????
          </ property >
          ????
          </ bean >


          weblogic-ejb-jar.xml
          Facade4IsolateServiceEJB在ejb-jar.xml文件中設置。

          < weblogic-enterprise-bean >
          ????????
          < ejb-name > Facade4IsolateServiceEJB </ ejb-name >
          ????????
          < stateless-session-descriptor >
          ????????????
          < pool >
          ????????????????
          < max-beans-in-free-pool > 500 </ max-beans-in-free-pool >
          ????????????????
          < initial-beans-in-free-pool > 1 </ initial-beans-in-free-pool >
          ????????????
          </ pool >
          ????????
          </ stateless-session-descriptor >
          ????????
          < enable-call-by-reference > True </ enable-call-by-reference >
          ????
          < local-jndi-name > ejb/test/Facade4IsolateService </ local-jndi-name >
          ????
          </ weblogic-enterprise-bean >

          ejb-jar.xml

          < session? id ="Facade4IsolateServiceEJB" >
          ????????????
          < ejb-name > Facade4IsolateServiceEJB </ ejb-name >
          ????????????
          < local-home > com.test.biz.service.ejb.Facade4IsolateServiceHome </ local-home >
          ????????????
          < local > com.test.biz.service.ejb.Facade4IsolateService </ local >
          ????????????
          < ejb-class > com.test.biz.service.ejb.Facade4IsolateServiceEJB </ ejb-class >
          ????????????
          < session-type > Stateless </ session-type >
          ????????????
          < transaction-type > Container </ transaction-type >
          ????????????
          < env-entry >
          ????????????????
          < env-entry-name > ejb/BeanFactoryPath </ env-entry-name >
          ????????????????
          < env-entry-type > java.lang.String </ env-entry-type >
          ????????????????
          < env-entry-value > biz-context.xml </ env-entry-value >
          ????????????
          </ env-entry >
          ????????
          </ session >

          ? 設置事務的隔離屬性

          < container-transaction >
          ????????????
          < method >
          ????????????????
          < ejb-name > Facade4IsolateServiceEJB </ ejb-name >
          ????????????????
          < method-name > * </ method-name >
          ??????????????
          </ method >
          ??????????????
          < trans-attribute > NotSupported </ trans-attribute >
          ????????
          </ container-transaction >

          posted on 2007-01-15 16:01 捕風 閱讀(425) 評論(0)  編輯  收藏 所屬分類: java高級

          主站蜘蛛池模板: 伽师县| 道孚县| 曲靖市| 丰原市| 扶绥县| 恩施市| 册亨县| 连南| 读书| 新绛县| 上犹县| 莱州市| 公安县| 叙永县| 民乐县| 桂东县| 自治县| 儋州市| 漠河县| 易门县| 将乐县| 大厂| 佛坪县| 莱阳市| 绥阳县| 苍南县| 会同县| 潞西市| 乌审旗| 丰城市| 贺州市| 衡水市| 嫩江县| 缙云县| 通江县| 儋州市| 洛扎县| 宝兴县| 东兰县| 开化县| 神池县|