zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    [ZOJ 3622] Magic Number
    SGU 134.Centroid(图心)
    SGU 223.Little Kings
    C++ IO 详细用法
    POJ2632 Crashing Robots 解题报告
    POJ1068 Parencodings 解题报告
    POJ3295 Tautology 解题报告
    POJ2586 Y2K Accounting Bug 解题报告
    POJ1328 Radar Installation 解题报告
    POJ3728 The merchant解题报告
  • 原文地址:https://www.cnblogs.com/wcb-xtu/p/5373835.html
Copyright © 2011-2022 走看看