posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          EJB小例

          Posted on 2007-12-05 16:01 G_G 閱讀(978) 評論(1)  編輯  收藏 所屬分類: EJB

          在此特別感謝:sql技術群主 ☆藍藍心情★
          謝謝在中午遠程教我 EJB
          原理參考:EJB原理學習_RMIC
          這可能是我第一個EJB 和大家分享:
          環境:jboss+ejb+jdk5.0


          需要jar包
          注:Client中 Test.jar 就是 EJBTest(服務器打的包)



          EJB組件:
          接口

          package ?org.test;

          import ?javax.ejb.Remote;

          //在我的EJB原理中介紹
          //是可以被
          rmic 的接口
          @Remote
          public ? interface ?IHello?{
          ????
          public ?String?sayHello(String?name);
          }


          實現類

          package ?org.test;

          import ?javax.ejb.Stateless;

          import ?org.jboss.annotation.ejb.RemoteBinding;

          @Stateless
          //設置遠程JNDI名字(設置遠程JNDI名字,客戶端在通過JNDI lookup的時候,用的就是這個名字)
          //不同中間件的實現,默認JNDI名字是不一樣的,所以不一定是***/Remote或***/Local
          //RemoteBinding是 jboss特有的
          @RemoteBinding(jndiBinding
          = " MclarenEJB " )
          public ? class ?Hello? implements ?IHello?{
          ????
          public ?String?sayHello(String?name)?{
          ????????
          return ? " Hello? " + name;
          ????}
          }


          jdk編輯+打包成jar后熱部署到%JBOSS_HOME%\server\default\deploy


          客戶端:

          import ?java.util.Properties;

          import ?javax.naming.Context;
          import ?javax.naming.InitialContext;

          import ?org.test.IHello;


          public ? class ?Client?{

          ????
          public ? static ? void ?main(String[]?args)?{
          ????????
          try ?{
          ?????????Properties?props? = ? new ?Properties();
          ?????????props.put(
          " java.naming.factory.initial " ,? " org.jnp.interfaces.NamingContextFactory " );
          ?????????props.put(
          " java.naming.provider.url " ,? " jnp://localhost:1099 " );
          ?????????props.put(
          " java.naming.factory.url.pkgs " ,? " org.jboss.naming:org.jnp.interfaces " );

          ?????????Context?context?
          = ? new ?InitialContext(props);

          ?????????IHello?h?
          = ?(IHello)?context.lookup( " MclarenEJB " );
          ?????????System.out.println(h.sayHello(
          " EJB?3.0?Test " ));
          ????????}?
          catch (Exception?e)?{
          ????????????e.printStackTrace();
          ????????}
          ????}

          }

          結果是:
          Hello EJB 3.0 Test





          評論

          # re: EJB小例  回復  更多評論   

          2007-12-05 16:23 by G_G
          大哥說:

          Skynet :
          RemoteBinding 那他的用途是什么?
          ☆藍藍心情★ 16:19:57
          Jboss的對JPA的實現采用Hibernate,而其他的公司,如bea,sun等的實現采用的oracle公司的 toplink
          Skynet 16:20:02
          RemoteBinding 那他的用途是什么?
          ☆藍藍心情★ 16:20:22
          你以前搞過Hibernate,就到jboss的JPA實現上展示下身手
          ☆藍藍心情★ 16:20:35
          設置遠程JNDI名字
          ☆藍藍心情★ 16:20:57
          所以客戶端在通過JNDI lookup的時候,用的就是這個名字
          ☆藍藍心情★ 16:21:33
          不同中間件的實現,默認JNDI名字是不一樣的,所以不一定是***/Remote或***/Local
          ☆藍藍心情★ 16:22:00
          相當于我們今天RMI的那個serviceName一樣
          ☆藍藍心情★ 16:22:07
          bind方法的參數

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


          網站導航:
           
          主站蜘蛛池模板: 连南| 定陶县| 贵南县| 饶阳县| 合川市| 巴塘县| 瑞丽市| 门头沟区| 县级市| 磐安县| 镇赉县| 平阳县| 宜黄县| 任丘市| 忻州市| 柳林县| 拉孜县| 崇阳县| 石景山区| 铜川市| 抚松县| 万源市| 上高县| 刚察县| 吴川市| 镇原县| 南乐县| 巍山| 潍坊市| 南岸区| 读书| 古交市| 尚志市| 武汉市| 库车县| 大荔县| 华池县| 大方县| 岳阳市| 平武县| 青州市|