明月松間照 清泉石上流


                                                  ——— 兵臨城下   貓科動物
          posts - 70, comments - 137, trackbacks - 0, articles - 23
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          CMP的本地方法調用

          Posted on 2006-04-28 21:54 兵臨城下 閱讀(503) 評論(2)  編輯  收藏 所屬分類: Java EE

          ??????? 繼續昨天發的隨筆,雖然解決了CMP的部署發布問題,在WebSphere中成功發布。但以我的經驗寫出的代碼卻不能調用它!弄了一下午,有點郁悶!向大家說說!
          ?????? 先向大家敘述一下我的CMP的情況:
          ?????? 我使用的CMP使用的本地接口,沒有建立遠程接口。我想運用facade模式,也就是在一個SessionBean中調用實體Bean,所以我使用本地接口。我的本意是這樣可以減少頻繁的遠程調用而帶來的資源占用。
          ???????然而我在調試時wsad報錯,從報錯中顯示找不到這個CMP,后來我設了斷點在下面這個語句:
          ctx.lookup("ejb/com/diablo/ProgrammerLocalHome);這個語句是在一個try語句中,發現程序運行這句后就捕捉到異常,直接跳到catch中了。所以確定是JNDI出問題了啊!
          ?????? 以我對本地接口的認識,bean之間調用屬于內部調用,利用本地接口可以減少資源的占用。然而卻不能如我所愿啊!如果把這個CMP設成遠程接口,就沒有任何問題。
          ?????? 想問問各位,這個CMP的本地接口到底應該怎么調用呢?還是我哪里認識有錯誤呢???
          ?????? 歡迎指點!


          評論

          # re: CMP的本地方法調用  回復  更多評論   

          2006-05-16 11:24 by 兵臨城下
          經多次調試,偶得:
          一、建立的Entity bean具有本地接口,然而在Session bean中直接通過其本地的JNDI調用卻不能成功。
          二、在Session bean中創建一個Entity bean的本地引用,比如本地引用名為:ejb/Programmer,然后在sesion bean 中lookup是直接使用還是不行。
          三、在二的基礎上,在lookup中使用以下字符串:"java:comp/env/ejb/Programmer",則能夠成功調用。

          從以上看出,在EJB容器內內部調用EJB需建立本地引用,并采用第三種方式。

          # re: CMP的本地方法調用  回復  更多評論   

          2006-11-06 22:09 by 11111111111111
          java:comp/env/是專屬于EJB的上下文結點
          主站蜘蛛池模板: 五原县| 夏邑县| 潍坊市| 中牟县| 涟水县| 莱阳市| 临海市| 赤水市| 台中县| 永寿县| 长丰县| 普安县| 和政县| 达日县| 从化市| 嘉禾县| 山西省| 汽车| 凉山| 曲阜市| 平南县| 涟水县| 聂拉木县| 常熟市| 寿阳县| 玉林市| 雷山县| 和林格尔县| 莒南县| 定日县| 昌都县| 丰宁| 昌图县| 饶河县| 冷水江市| 镇巴县| 沅陵县| 龙山县| 永安市| 宁德市| 江西省|