不废话。直接进入正题:

在Jboss4及曾经的版本号中,例如以下代码能够成功部署:

package com.tjb.ejb;import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;@Stateless
@Remote
@Local
public class UserManagerBean implements UserManager {public void saveUser(User user) {System.out.println("User对象已被保存");}}

从代码能够看出。UserManagerBean对接口UserManager 同一时候声明了远程和本地两种公布方式。这样的方式在Jboss4及曾经的版本号中是被同意的,可是Jboss5以后的版本号则觉得这是错误的(详细从哪个版本号開始改的,这里就不追究了)。假设将上面的代码部署到Jboss5中,会出现下面的错误提示:

java.lang.RuntimeException: @Remote and @Local may not both be specified on the same interface "interface
com.lzq.ejb.UserManager" for EJB "UserManagerBean" per EJB3 Spec 4.6.6, Bullet 5.4 [EJBTHREE-751]at org.jboss.ejb3.proxy.factory.ProxyFactoryHelper.getLocalAndBusinessLocalInterfaces(ProxyFactoryHelper.java:233)at org.jboss.ejb3.proxy.factory.ProxyFactoryHelper.getLocalBusinessInterfaces(ProxyFactoryHelper.java:550)at org.jboss.ejb3.session.SessionContainer.resolveBusinessInterfaces(SessionContainer.java:192)at org.jboss.ejb3.EJBContainer.instantiated(EJBContainer.java:1564)at org.jboss.ejb3.session.SessionContainer.instantiated(SessionContainer.java:182)at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:726)... 33 more

依据第一句话就能看出来。是由于不同意对同一个接口同一时候声明Remote和Local两种公布方式,因此。在Jboss5中要实现这样的功能,就须要实现两个接口。代码例如以下:

package com.tgb.ejb;import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;@Stateless
@Remote(value=UserManagerRemote.class)
@Local(value=UserManagerLocal.class)
public class UserManagerBean implements UserManagerLocal,UserManagerRemote {@Overridepublic void saveUser(User user) {System.out.println("Use对象已被保存");    }}

假设两个接口中的方法同样。重写一个就可以。

结论:在Jboss4及曾经的版本号。能够在一个SessionBean中对同一个接口同一时候声明Remote和Local两种公布方式;而在Jboss5以后的版本号中则不同意这样的方式。假设要在一个SessionBean中同一时候使用Remote和Local方式。则必须实现两个接口。并指明哪个接口用哪种方式。推荐使用另外一种。由于不论什么版本号的Jboss都支持此方式。

菜鸟学EJB(二)——在同一个SessionBean中使用@Remote和@Local相关推荐

  1. 教妹学Java(二十):一文带你彻底了解 Java 中的注释,干货了

    你好呀,我是沉默王二,一枚颜值与才华俱在的程序员.本篇教程通过我和三妹对话的形式来谈一谈"Java 中的注释". 教妹学 Java,没见过这么有趣的标题吧?"语不惊人死不 ...

  2. 菜鸟学Linux 第031篇笔记 script,控制,while,function

    菜鸟学Linux 第031篇笔记 script,控制,while,function 一.脚本需求: 说明:此脚本能于同一个repo文件中创建之个yum源的指向: 1.接受一个文件名作为参数,此文件存放 ...

  3. 菜鸟学Kubernetes(K8s)系列——(七)关于Kubernetes底层工作原理

    菜鸟学Kubernetes(K8s)系列--(七)关于Kubernetes底层工作原理 Kubernetes系列文章 主要内容 菜鸟学Kubernetes(K8s)系列--(一)关于Pod和Names ...

  4. 菜鸟学算法一基础知识篇

    菜鸟学算法<一>知识准备篇 刚刚上任,急着给兄弟们一点见面礼,嘿嘿 前言:论坛上有关算法分析的文章不少,也不少精品 但对于刚学CARACK来说,只是叹为观止 原因如下: 1.论坛高手如云, ...

  5. python语言入门教程-菜鸟学Python入门教程大盘点|7个多月的心血总结

    原标题:菜鸟学Python入门教程大盘点|7个多月的心血总结 阅读本文大概需要5分钟 菜鸟学python已经写了70几篇,入门的教程已经快写完了,我把入门的文章整理了一下,下面是入门篇的一些总结,也是 ...

  6. 菜鸟学Linux 第034篇笔记 vmlinuz, initrd, modules, script

    菜鸟学Linux 第034篇笔记  vmlinuz, initrd, modules, script 内核两部分 核心 /boot/vmlinuz-version 内核模块 /lib/modules/ ...

  7. 菜鸟学Linux 第095篇笔记 MySQL 5.6主从复制

    菜鸟学Linux 第095篇笔记 MySQL 5.6主从复制 内容总览 主从服务器复制过滤 MySQL 5.6 简单主从模式配置步骤 mysql-proxy 主从服务器复制过滤 主服务器配置 基于数据 ...

  8. python入门教程(非常详细)-菜鸟学Python入门教程大盘点|7个多月的心血总结

    原标题:菜鸟学Python入门教程大盘点|7个多月的心血总结 阅读本文大概需要5分钟 菜鸟学python已经写了70几篇,入门的教程已经快写完了,我把入门的文章整理了一下,下面是入门篇的一些总结,也是 ...

  9. 动手学Docker-第二弹-基本操作

    动手学Docker-第二弹-基本操作 Docker三大基本概念 镜像Image 容器Container 仓库Repository Docker Registry Docker Registry 公开服 ...

最新文章

  1. Facebook如何预测广告点击:剖析经典论文GBDT+LR
  2. 管理你的代码——Git学习(一)
  3. 给服务器端下拉asp:DropDownList 绑定改变事件,Ajax绑定下拉
  4. Smarty模板技术学习
  5. 高性能网站建设指南——网站优化的14条建议
  6. jQuery的hide() 、show() 、toggle()
  7. 产教融合,共塑未来”,CIE 2018 中国 IT 教育博鳌论坛盛大落幕
  8. oracle安装很慢,oracle11g安装后电脑启动很慢怎么解决
  9. Phoenix Framework 1.4.7,自动化测试平台
  10. java序列化 反序列化_Java序列化– Java序列化
  11. win10系统回收站隐藏的方法
  12. ubuntu+python2.7+tensorflow-gpu安装
  13. 嵌入式linux dlna,DLNA 编译
  14. 云计算与大数据复习题
  15. HTML——表格合并
  16. 判断日期是否为周末 java_如何用Java检查给定的日期是否代表周末
  17. 三菱modbusRTU通讯实例_三菱PLC的无线通讯实例
  18. 云服务器搭建好,出现 拒绝了我们的连接请求。
  19. 5.4 文本分析与加密
  20. 九度OJ题目1163:素数

热门文章

  1. sql统计表中各类型金额_产品经理市场需求旺盛的10大基础技能——第1篇读透SQL...
  2. python dataframe 选取字段 特别慢_从parqu读取dask dataframe列重命名速度较慢(er)
  3. 恢复html的初始选定状态,jQuery实现点击旋转,再点击恢复初始状态动画效果示例...
  4. 600分左右的计算机院校,600分左右的985大学 性价比最高的学校
  5. 二级计算机环境,计算机环境变量_二级计算机关于变量的问题
  6. php radio用法,JavaScript_JQuery radio(单选按钮)操作方法汇总,随着Jquery的作用越来越大,使 - phpStudy...
  7. php codeigniter cookie,PHP 使用CodeIgniter删除、设置Cookie的简单示例
  8. android 获取sim卡信息list_提醒:手机要设置SIM卡密码!如何设置?有何用处?攻略来了...
  9. filter过滤后重新添加_Kibana基本使用---使用Flight Dashboard过滤数据
  10. python水仙花数的编程讲解_《scratch编程+数学》课程:找寻水仙花数