>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 23740 个阅读者 刷新本主题
 * 贴子主题:  在JBoss中发布EJB3 SessionBean 回复文章 点赞(0)  收藏  
作者:fly123    发表时间:2018-09-12 11:40:15     消息  查看  搜索  好友  邮件  复制  引用

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

Code:
<?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,如下面的代码所示:

Code:
<?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,可以使用下面代码:

Code:
Properties prop = new Properties();  
InitialContext ctx = new InitialContext();  
System.out.println(((service.Greeter)ctx.lookup("mygreeter")).greet("bill"));  
    从上面代码可看出,lookup方法通过“mygreeter”来查找服务端的session bean。


程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->内部类
  JavaWeb开发-->自定义JSP标签(Ⅰ)
  JSP与Hibernate开发-->映射组成关系
  Java网络编程-->Socket用法详解
  精通Spring-->通过Vuex进行状态管理
  Vue3开发-->虚拟DOM和render()函数
  Spring Boot 入门,用 Spring Boot 写第一个 HelloWorld 程序
  MessagePack反序列化使用示例
  Redis为什么单线程能够支持高并发
  微服务架构集大成者—Spring Cloud简明教程
  谈谈响应式编程
  SSM三大框架整合详细教程
  回字有四种写法,那你知道单例有五种写法吗
  Spring MVC关于分页的简单实现
  Spring MVC的国际化
  Spring Cloud Config 客户端的高可用实现
  如何实现Git服务间同步
  中央厨房订单管理系统,引入ActiveMQ消息队列,平滑处理高峰...
  Spring AOP的本质
  RESTful 架构详解
  Spring与MyBatis整合
  更多...
 IPIP: 已设置保密
树形列表:   
[url=http://www.zhent.com]... nihaota 2022-10-28 21:37:57
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。