Knight of the round table

          wansong

          JBoss 5 + EJB3開發指南:使用配置文件發布Session Bean

          Session Bean除了可以使用注釋來發布外,也可以使用相應的配置文件來發布。在這種情況下,就不需要在接口和Session Bean中使用注釋了。在JBoss中需要兩個文件對Session bean進行配置。這兩個文件是ejb-jar.xml和jboss.xml.這兩個文件應該META-INF目錄中,該目錄應該放在jar文件的根目錄。ejb-jar.xml文件負責配置session bean,下面是一個典型的配置代碼:

          <?xml version="1.0" encoding="ASCII"?>
          <ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:ejb
          ="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
          xsi:schemaLocation
          ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
          version
          ="3.0">
            
          <display-name>MyEJB</display-name>
               
          <enterprise-beans>
                
          <session>
                   
          <ejb-name>Greeter</ejb-name>
                   
          <business-local>service.GreeterBeanLocal</business-local>
                   
          <business-remote>service.GreeterBeanRemote</business-remote>
                   
          <ejb-class>service.GreeterBean</ejb-class>
                   
          <session-type>Stateless</session-type>
                   
          <transaction-type>Container</transaction-type>
                
          </session>
             
          </enterprise-beans>
          </ejb-jar>

              其中<ejb-name>元素就是一個表示,表示當前配置的session bean的名稱。<business-local>和<bussiness-remote>分別用來指定本地接口和遠程接口。<ejb-class>用來指定session bean的java類

              jboss.xml文件主要用來指定jndi,如下面的代碼所示:

          <?xml version="1.0"?>
           
          <jboss xmlns:xs="http://www.jboss.org/j2ee/schema"
                 xs:schemaLocation
          ="http://www.jboss.org/j2ee/schema jboss_5_0.xsd"
                       version
          ="5.0"> 
             
          <enterprise-beans>
                
          <session>
                   
          <ejb-name>Greeter</ejb-name>
                   
          <jndi-name>mygreeter</jndi-name>
                   
          <local-jndi-name>mygreeter_local</local-jndi-name>
                
          </session>
             
          </enterprise-beans>
          </jboss>

              上面的代碼中的<ejb-name>元素的值和要ejb-jar.xml中的<ejb-name>元素的值相同。<jndi-name>用來指定遠程的jndi名稱。<local-jndi-name>用來指定本地jndi的名稱。如果訪問遠程的session bean,可以使用下面代碼:

            Properties prop = new Properties();
            InitialContext ctx 
          = new InitialContext();
            System.out.println(((service.Greeter)ctx.lookup(
          "mygreeter")).greet("bill"));

              從上面代碼可看出,lookup方法通過“mygreeter”來查找服務端的session bean.

          posted on 2011-09-05 20:16 w@ns0ng 閱讀(299) 評論(0)  編輯  收藏 所屬分類: jboss

          主站蜘蛛池模板: 斗六市| 萍乡市| 名山县| 林芝县| 奉贤区| 双鸭山市| 上饶市| 垦利县| 民勤县| 西华县| 罗甸县| 宜兰市| 德化县| 铜陵市| 莱芜市| 鸡泽县| 玉环县| 黄大仙区| 庄浪县| 墨脱县| 安仁县| 申扎县| 贡嘎县| 山丹县| 沅江市| 进贤县| 崇明县| 墨江| 临潭县| 尖扎县| 黎川县| 墨竹工卡县| 皋兰县| 麻栗坡县| 获嘉县| 陕西省| 宝应县| 益阳市| 治县。| 清水县| 抚远县|