eclipse + JBoss 5 + EJB3开发指南(5):使用配置文件发布Session Be

本文介绍如何使用ejb-jar.xml和jboss.xml配置文件发布SessionBean。通过具体代码示例展示了如何定义SessionBean的名称、接口及类,并设置JNDI名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为原创,如需转载,请注明作者和出处,谢谢!

Session Bean除了可以使用注释来发布外,也可以使用相应的配置文件来发布。在这种情况下,就不需要在接口和Session Bean中使用注释了。在JBoss中需要两个文件对Session bean进行配置。这两个文件是ejb-jar.xml和jboss.xml。这两个文件应该META-INF目录中,该目录应该放在jar文件的根目 录。ejb-jar.xml文件负责配置session bean,下面是一个典型的配置代码:

Code:
  1. <?xmlversion="1.0"encoding="ASCII"?>
  2. <ejb-jarxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:ejb="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
  5. version="3.0">
  6. <display-name>MyEJB</display-name>
  7. <enterprise-beans>
  8. <session>
  9. <ejb-name>Greeter</ejb-name>
  10. <business-local>service.GreeterBeanLocal</business-local>
  11. <business-remote>service.GreeterBeanRemote</business-remote>
  12. <ejb-class>service.GreeterBean</ejb-class>
  13. <session-type>Stateless</session-type>
  14. <transaction-type>Container</transaction-type>
  15. </session>
  16. </enterprise-beans>
  17. </ejb-jar>

其中<ejb-name>元素就是一个表示,表示当前配置的session bean的名称。<business-local>和<bussiness-remote>分别用来指定本地接口和远程接口。 <ejb-class>用来指定session bean的java类

jboss.xml文件主要用来指定jndi,如下面的代码所示:<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->

Code:
  1. <?xmlversion="1.0"?>
  2. <jbossxmlns:xs="http://www.jboss.org/j2ee/schema"
  3. xs:schemaLocation="http://www.jboss.org/j2ee/schemajboss_5_0.xsd"
  4. version="5.0">
  5. <enterprise-beans>
  6. <session>
  7. <ejb-name>Greeter</ejb-name>
  8. <jndi-name>mygreeter</jndi-name>
  9. <local-jndi-name>mygreeter_local</local-jndi-name>
  10. </session>
  11. </enterprise-beans>
  12. </jboss>

上面的代码中的<ejb-name>元素的值和要ejb-jar.xml中的<ejb-name>元素的值相同。< jndi-name>用来指定远程的jndi名称。<local-jndi-name>用来指定本地jndi的名称。如果访问远程的 session bean,可以使用下面代码:<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->

Code:
  1. Propertiesprop=newProperties();
  2. InitialContextctx=newInitialContext();
  3. System.out.println(((service.Greeter)ctx.lookup("mygreeter")).greet("bill"));

从上面代码可看出,lookup方法通过“mygreeter”来查找服务端的session bean。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值