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

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大英县| 扎鲁特旗| 樟树市| 兰州市| 通渭县| 鄂托克旗| 正宁县| 江达县| 怀来县| 景谷| 石城县| 苏尼特左旗| 准格尔旗| 广南县| 高雄市| 玉环县| 化州市| 彭州市| 丽江市| 剑阁县| 礼泉县| 龙门县| 兰考县| 北流市| 济宁市| 孝昌县| 桓台县| 漾濞| 乌恰县| 全州县| 青田县| 拉萨市| 桓台县| 聂拉木县| 丹江口市| 长子县| 荆州市| 和龙市| 泗水县| 金川县| 台东市|