`
seara
  • 浏览: 625828 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

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

上一篇:eclipse + JBoss 5 + EJB3开发指南(4):Session Bean中的注释方法

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

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><?xmlversion="1.0"encoding="ASCII"?>
<ejb-jarxmlns: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/javaeehttp://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,如下面的代码所示:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><?xmlversion="1.0"?>

<jbossxmlns:xs="http://www.jboss.org/j2ee/schema"
xs:schemaLocation
="http://www.jboss.org/j2ee/schemajboss_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,可以使用下面代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> Propertiesprop=newProperties();
InitialContextctx
=newInitialContext();
System.out.println(((service.Greeter)ctx.lookup(
"mygreeter")).greet("bill"));

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

下一篇:eclipse + JBoss 5 + EJB3开发指南(6):编写第一个实体Bean程序



国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics