• EJB之Local与Remote


    EJB接口之Local与Remote

    发布EJB时,可以选择每个接口的访问方式:本地访问或远程访问。顾名思义,本地访问就是指调用者在与EJB同一台机器(JVM)中访问EJB,否则就是远程访问了。在一个EJB中,Remote与Local能够同时使用,但是需要配置各自的value属性,且一个接口只能用一种注解标注

    Local 接口


    • 注解为”@Local”的接口称为本地接口(或者@Local和@Remote都不存在时,默认为Local接口)。
    • 由于在同一个JVM中运行,调用者调用EJB时,直接查找地址访问EJB,快速。
    • 访问的是服务端的EJB本身。
    • 若需要传入对象做参数,对象可以不用实现序列化接口。
    • 常用于同一个EJB中 Session Bean 和 Entity Bean 之间的相互调用

    Remote 接口


    • 注解为”@Remote”的接口称为本地接口
    • 以RMI(Remote Method Invocation 远程方法调用)的方式实现调用,参考链接
    • 访问的是EJB的拷贝。
    • 若需要传入对象做参数,对象必须实现序列化接口。
    • 常用于 servlet/jsp 或 Java 应用客户端的调用。

    使用总结

    1. 如果你的 EJB 客户与 EJB 处于同一个JVM环境中时,你可以只生成 local 类型接口(包括EJBHome 与EJBObject),如果你需要在与EJB容器不同的JVM环境中调用你的EJB的话,你必须生成Remote类型的接口(包括EJBHome 与 EJBObject);
    2. 在一般情况下建议两种类型的接口都生成。尤其是Session Bean,Entity Bean,可以只生成local类型的接口,如果想远程调用你的Entity Bean一般用Session Bean做代理
    3. 如果你不是远程调用EJB的话,使用EJB时建议调用local接口,这样效率高,因为远程调用就意味着建立网络连接,效率必然不如local调用。

    generated by haroopad

  • 相关阅读:
    高级程序设计语言学习2
    程序设计语言学习
    基于Android,对硬件、框架、API、操作系统、应用程序的理解
    Python_code_使用OpenCV库对图片实现数据增强
    Python_code_使用ImageFilter库对图片实现数据增强
    Python_code_实现贴图功能
    Python_code_使用OpenCV库实现对图像的_平移_旋转_缩放
    Python_code_七段数码管绘制实现_happy-new-year
    3_一幅图像,经过傅里叶变换后,将高频部分删除,再进行反变换,设想一下将会得到什么结果?
    2_图像处理中正交变换的目的是什么?图像变换主要用于那些方面?
  • 原文地址:https://www.cnblogs.com/wcb-xtu/p/5373835.html
Copyright © 2020-2023  润新知