迄今为止,我们仅仅讨论了使用一个本地业务接口的会话bean。在这样的情况下。本地意味着仅仅能由执行在同一个应用程序server实例的JavaEE组件声明会话bean的依赖性。比如。远程client不可能通过本地接口使用会话bean。

为了容纳远程client,会话bean能够採用@Remote注解来标记它们的业务接口,以声明它是远程可用的。以下代码演示了前面所看到的的HelloService接口的远程版本号语法。

标记一个接口为远程的相当于使其扩展java.rmi.Remote接口。client获取的bean的引用不再是server上的一个本地引用,而是远程方法调用(RMI)的存根(stub),从而能够跨网络调用会话bean的操作。在bean类之上使用远程接口无需特别的支持。

(代码)

把接口变为远程的会影响性能以及怎样处理传递给业务方法的參数。远程业务接口能够在本地执行的server中使用,可是假设方法调用是通过RMI层进行路由。那么这样做可能仍会导致网络开销。远程接口之上的方法的參数也是按值传递。而不是按引用传递。这意味着即时client对会话bean而言是本地,也须要序列化參数。为本地client提供本地接口一般是更好的方法。

本地接口保存常规java方法调用的语义,避免了与网络和RMI相关的开销。

注意:

很多应用程序server提供选项以提高远程接口在本地使用时的性能,当中可能包含能够禁用方法參数的序列化护着坑农全然避开RMI。

当在应用程序代码中使用这些功能时要慎重。以为它们对于不同的应用server是不可移植的。

无状态会话bean(3)---远程业务接口(没有排版)的更多相关文章

  1. EJB开发第一个无状态会话bean、开发EJBclient

    开发第一个无状态会话bean EJB中的三中bean: 会话Bean(Session Bean) 负责与client交互,是编写业务逻辑的地方.在会话bean中能够通过JDBC直接操作数据库.但大多数 ...

  2. EJB开发第一个无状态会话bean、开发EJB客户端

    开发第一个无状态会话bean EJB中的三中bean: 会话Bean(Session Bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过JDBC直接操作数据库,但大多数情况下 ...

  3. JBoss+Ant实现EJB无状态会话bean实例

    EJB分为session bean.entity bean.message-driven bean,session bean又分为无状态会话bean和有状态会话bean. session bean负责 ...

  4. 无状态会话bean(1)---定义

    无状态会话bean用于完毕在单个方法的生命周期内的操作.无状态bean能够实现很多业务操作,可是每一个方法都不能假定不论什么其它的方法会在它之前调用.后半句的意思是如今的你可能不是刚才的你.明天的你可 ...

  5. 无状态会话Bean、有状态会话Bean、CMP与BMP中,哪一种Bean不需要自己书写连接数据库的代码?

    无状态会话Bean.有状态会话Bean.CMP与BMP中,哪一种Bean不需要自己书写连接数据库的代码? A.无状态会话Bean B.有状态会话Bean C.CMP D.BMP 解答:C

  6. (转)Spring Bean Scope 有状态的Bean 无状态的Bean

    有状态会话bean   :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”:一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束.即每个用户最初都会得到一 ...

  7. 有状态的bean和无状态的bean的区别

    有状态会话bean :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”:一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束.即每个用户最初都会得到一个初 ...

  8. 有状态无状态回话bean

    1.有状态(Stateful) 可以在不同的方法调用间保持针对各个客户端的状态 与客户端的联系必须被维持,这样做开销要大一些 有状态也可以这样理解,它存在存储能力,也就是说至少有一个属性来标识它目前的 ...

  9. Ejb in action(四)——购物车实例演示有状态会话Bean

    前面.我们介绍了一个入门实例.事实上那就是无状态回话Bean的经常使用情况. 上一篇文章中.我们介绍了无状态会话Bean和有状态会话Bean的相关概念.为了加深大家对它们的理解,我们一起来实现一个有状 ...

随机推荐

  1. qt事件传递过程和处理

    处理监控系统的时候遇到问题,在MainWidget中创建多个子Widget的时候,原意是想鼠标点击先让MainWidget截获处理后再分派给子Widget去处理,但调试后发现如果子Widget重新实现 ...

  2. Linux多线程编程的时候怎么查看一个进程中的某个线程是否存活

    pthread_kill: 别被名字吓到,pthread_kill可不是kill,而是向线程发送signal.还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用sig ...

  3. windows socket----select模型

    一般我们的网络编程都是用bind ,listen,accept,send/sendto,recv/recvfrom.在创建套接字的时候,是默认使用阻塞模式的,每当我们调用send/sendto等方法时 ...

  4. centos7里默认python升级到2.7.11

    CentOS镜像使用帮助 http://mirrors.163.com/.help/centos.html   安装gcc yum install gcc* openssl openssl-devel ...

  5. haproxy 看到的是https,后台是http的原因

    https://www.zjtest6.com/admin/api/menu haproxy 日志: Jun 24 13:23:02 localhost haproxy[23205]: 192.168 ...

  6. 大白菜U盘启动制作工具装机维护版V5.0–大白菜U盘下载中心

    大白菜U盘启动制作工具装机维护版V5.0–大白菜U盘下载中心   大白菜U盘启动制作工具装机维护版V5.0

  7. 人脸对齐ASM-AAM-CLM的一些总结

    源地址:http://blog.csdn.net/piaomiaoju/article/details/8918107 ASM算法相对容易,其中STASM是目前正面脸当中比较好的算法,原作者和CLM比 ...

  8. ezw证件照芯片压缩算法

    相关网站:http://m.blog.csdn.net/blog/kimwu/12654517 http://blog.sina.com.cn/s/blog_4be751690100bsgb.html ...

  9. oracle数据库单个数据文件的大小限制

    之前没有仔细想过这个问题,因为总是不会用到,也没有犯过类似错误. 顺便提一下学习方法吧. 卤肉的学习方法是:常用知识点,熟悉理论并反复做实验,深入理解:不常用的知识点,相关内容都了解大概,遇到问题时想 ...

  10. NET之全平台一体化

    NET之全平台一体化的体验 一.前言 近来利用空闲时间研究了一下Xamarin的技术,想想既然提供了如此好的支持,就该尝试一切可能,来一个”大小通吃“. 何为全平台:APP包括Android.IOS. ...