捕風(fēng)之巢

          統(tǒng)計(jì)

          留言簿(3)

          java友情鏈接

          閱讀排行榜

          評(píng)論排行榜

          事務(wù)隔離EJB的使用

          業(yè)務(wù)操作的事務(wù)性和事務(wù)隔離性,是 J2EE 開發(fā)中一個(gè)非常重要的功能。
          比如,在業(yè)務(wù)操作中的系統(tǒng)日志和權(quán)限日志,就很好的體現(xiàn)了事務(wù)原子性和事務(wù)隔離的應(yīng)用。

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

          ?為了能在具有事務(wù)的 action 中調(diào)用不允許事務(wù)支持的外部系統(tǒng) EJB ,如 UMSAO ,增加了事務(wù)隔離 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;
          }


          需要在相關(guān)文件中配置:

          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文件中設(shè)置。

          < 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 >

          ? 設(shè)置事務(wù)的隔離屬性

          < 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 捕風(fēng) 閱讀(425) 評(píng)論(0)  編輯  收藏 所屬分類: java高級(jí)

          主站蜘蛛池模板: 平舆县| 西吉县| 偏关县| 三原县| 道真| 南溪县| 易门县| 红安县| 青阳县| 阜城县| 开江县| 平潭县| 长白| 清涧县| 虎林市| 皋兰县| 平和县| 仪陇县| 张家口市| 察隅县| 孝义市| 肥东县| 蒲城县| 盘山县| 青州市| 南充市| 中山市| 西和县| 彝良县| 静海县| 格尔木市| 莎车县| 遂宁市| 永新县| 高要市| 河源市| 平原县| 大宁县| 水城县| 荥阳市| 霸州市|