程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> eclipse + JBoss 5 + EJB3開發指南(5):使用配置文件發布Session Bean

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

編輯:關於JAVA

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。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved