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"?>
- 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"
- {0version="3.0">
- MyEJB display-name>
-
-
- Greeter ejb-name>
- service.GreeterBeanLocal business-local>
- service.GreeterBeanRemote business-remote>
- service.GreeterBean ejb-class>
- Stateless session-type>
Container transaction-type>
- session>
- enterprise-beans>
- ejb-jar>
|
其中 元素就是一個(gè)表示,表示當(dāng)前配置的session bean的名稱(chēng)。 和 分別用來(lái)指定本地接口和遠(yuǎn)程接口。 用來(lái)指定session bean的java類(lèi)
jboss.xml文件主要用來(lái)指定jndi,如下面的代碼所示:
- xml version="1.0"?>
- xmlns:xs="http://www.jboss.org/j2ee/schema"
- xs:schemaLocation="http://www.jboss.org/j2ee/schema jboss
- _5_0.xsd"
- version="5.0">
-
-
- Greeter ejb-name>
- mygreeter jndi-name>
- mygreeter_local local-jndi-name>
- session>
- enterprise-beans>ITPUB
- jboss>
|
上面的代碼中的 元素的值和要ejb-jar.xml中的 元素的值相同。< jndi-name>用來(lái)指定遠(yuǎn)程的jndi名稱(chēng)。 用來(lái)指定本地jndi的名稱(chēng)。如果訪問(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。
網(wǎng)站名稱(chēng):Eclipse+JBoss+EJB3配置文件發(fā)布SessionBean
URL分享:
http://www.5511xx.com/article/dpdogsh.html