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 " ));

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





 本文转自 androidguy 51CTO博客,原文链接:http://blog.51cto.com/androidguy/214442,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值