eclipse + JBoss 5 + EJB3开发指南(5):使用配置文件发布Session Bean
生活随笔
收集整理的這篇文章主要介紹了
eclipse + JBoss 5 + EJB3开发指南(5):使用配置文件发布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"));
<?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。
?本文轉自 androidguy 51CTO博客,原文鏈接:http://blog.51cto.com/androidguy/214442,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的eclipse + JBoss 5 + EJB3开发指南(5):使用配置文件发布Session Bean的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言:输入两个数,输出最大公约数,最小
- 下一篇: docker compose部署服务