【原創】eclipse + JBoss 5 + EJB3開發指南(5):使用配置檔案釋出Session Bean

銀河使者發表於2009-06-08
本文為原創,如需轉載,請註明作者和出處,謝謝!
   
    Session Bean除了可以使用註釋來發布外,也可以使用相應的配置檔案來發布。在這種情況下,就不需要在介面和Session Bean中使用註釋了。在JBoss中需要兩個檔案對Session bean進行配置。這兩個檔案是ejb-jar.xml和jboss.xml。這兩個檔案應該META-INF目錄中,該目錄應該放在jar檔案的根目 錄。ejb-jar.xml檔案負責配置session bean,下面是一個典型的配置程式碼:

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gtxml 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>MyEJBdisplay-name>
     
<enterprise-beans>
      
<session>
         
<ejb-name>Greeterejb-name>
         
<business-local>service.GreeterBeanLocalbusiness-local>
         
<business-remote>service.GreeterBeanRemotebusiness-remote>
         
<ejb-class>service.GreeterBeanejb-class>
         
<session-type>Statelesssession-type>
         
<transaction-type>Containertransaction-type>
      
session>
   
enterprise-beans>
ejb-jar>

    其中元素就是一個表示,表示當前配置的session bean的名稱。分別用來指定本地介面和遠端介面。 用來指定session bean的java類

    jboss.xml檔案主要用來指定jndi,如下面的程式碼所示:
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gtxml 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>Greeterejb-name>
         
<jndi-name>mygreeterjndi-name>
         
<local-jndi-name>mygreeter_locallocal-jndi-name>
      
session>
   
enterprise-beans>
jboss>

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

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

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

    從上面程式碼可看出,lookup方法通過“mygreeter”來查詢服務端的session bean。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12921506/viewspace-605415/,如需轉載,請註明出處,否則將追究法律責任。

相關文章