>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 23739 个阅读者 刷新本主题
 * 贴子主题:  在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开发-->Web运作原理(Ⅱ)
  JSP与Hibernate开发-->映射对象标识符
  Java网络编程-->RMI框架
  精通Spring-->Vue CLI脚手架工具
  Vue3开发-->Vue Router路由管理器
  Redis为什么单线程能够支持高并发
  Rust学习笔记 | 异步代码的几种写法
  Mybatis Plus 多租户架构(Multi-tenancy)实现
  Spring API中JAVA反射—工具类ReflectionUtils
  Spring MVC的拦截器的详细用法
  Spring 自动注入的三种方式:byName、byType、constructor
  Spring Boot、SpringMVC进行i18n国际化支持:使用MessageSou...
  解析配置文件 redis.conf、Redis持久化RDB、Redis的主从复制
  Spring Cloud构建微服务架构的断路器
  使用 Flask-RESTful 设计 RESTful API
  RESTful API 设计最佳实践
  springboot集成通用mapper实现Echarts
  网红框架SpringBoot2.x之定制参数浅析
  Spring Framework 组件注册 之 @Import
  RESTful 架构详解
  更多...
 IPIP: 已设置保密
楼主      
该用户目前不在线 nihaota 
  
威望: 0
级别: 新手上路
魅力: 1315
经验: 1315
现金: 2944
发文章数: 243
注册时间: 0001-01-01
 消息  查看  搜索  好友  邮件  复制  引用


讨债公司
发文章时间 2022-10-28 21:37:57
 IPIP: 已设置保密 1 楼     
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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