wayne

          EJB3 (2)

          一個會話bean即可以遠程訪問,也可以本地訪問,盡管這種現象不常見。
          我們先定義遠程接口:

          @Remote
          public interface HelloRemote {

              String sayHi(String name);

              String sayByeBye(String name);
              
          }

          接著定義本地接口:
          @Local
          public interface HelloLocal {

              String sayBye(String name);
              
          }

          然后編寫一個會話bean同時實現兩個接口:
          @Stateless
          public class HelloBean implements HelloRemote, HelloLocal {

              
          public String sayHi(String name) {
                  
          return "Hi " + name;
              }

              
              
          public String sayBye(String name) {
                  
          return "Bye " + name;
              }

              
              
          public String sayByeBye(String name) {
                  
          return sayBye(name);
              }

              
          }

          那么,這還是一個無狀態會話bean,不過即可以遠程訪問,也可以本地訪問。
          <%
                      InitialContext ctx 
          = new InitialContext();
                      HelloRemote helloBean 
          = (HelloRemote)ctx.lookup(HelloRemote.class.getName());
                      out.println(helloBean.sayHi(
          "Tom"));
                      out.println(
          "<br>" + helloBean.sayByeBye("Tom"));
          %>

          遠程訪問只能獲得遠程接口的代理,然后調用遠程業務方法。在遠程客戶端是無法獲得本地接口的引用,更別說訪問本地方法了。

          posted on 2008-09-12 21:29 waynemao 閱讀(141) 評論(0)  編輯  收藏 所屬分類: Java ee


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          default

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 龙井市| 新宁县| 北海市| 太仆寺旗| 尚义县| 潜江市| 响水县| 东兴市| 阿合奇县| 新丰县| 光泽县| 信阳市| 江川县| 宣威市| 东兰县| 赫章县| 竹山县| 林州市| 邳州市| 河曲县| 繁昌县| 洞头县| 呼伦贝尔市| 三门县| 绩溪县| 和田县| 兴山县| 娄烦县| 东莞市| 故城县| 南川市| 南皮县| 周口市| 沙雅县| 新民市| 常山县| 佛冈县| 黑水县| 屏东市| 巴彦淖尔市| 武宁县|