本文為原創(chuàng),如需轉(zhuǎn)載,請(qǐng)注明作者和出處,謝謝!
上一篇:
eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(4):Session Bean中的注釋方法
Session Bean除了可以使用注釋來(lái)發(fā)布外,也可以使用相應(yīng)的配置文件來(lái)發(fā)布。在這種情況下,就不需要在接口和Session Bean中使用注釋了。在JBoss中需要兩個(gè)文件對(duì)Session bean進(jìn)行配置。這兩個(gè)文件是ejb-jar.xml和jboss.xml。這兩個(gè)文件應(yīng)該META-INF目錄中,該目錄應(yīng)該放在jar文件的根目錄。ejb-jar.xml文件負(fù)責(zé)配置session bean,下面是一個(gè)典型的配置代碼:
<?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>元素就是一個(gè)表示,表示當(dāng)前配置的session bean的名稱。<business-local>和<bussiness-remote>分別用來(lái)指定本地接口和遠(yuǎn)程接口。<ejb-class>用來(lái)指定session bean的java類
jboss.xml文件主要用來(lái)指定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>用來(lái)指定遠(yuǎn)程的jndi名稱。<local-jndi-name>用來(lái)指定本地jndi的名稱。如果訪問(wèn)遠(yuǎn)程的session bean,可以使用下面代碼:
Properties prop = new Properties();
InitialContext ctx = new InitialContext();
System.out.println(((service.Greeter)ctx.lookup("mygreeter")).greet("bill"));
從上面代碼可看出,lookup方法通過(guò)“mygreeter”來(lái)查找服務(wù)端的session bean。
下一篇:
eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(6):編寫(xiě)第一個(gè)實(shí)體Bean程序
新浪微博:http://t.sina.com.cn/androidguy 昵稱:李寧_Lining