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

  • 相关阅读:
    关于返回上一页功能
    Mybatis Update statement Date null
    SQLite reset password
    Bootstrap Validator使用特性,动态(Dynamic)添加的input的验证问题
    Eclipse使用Maven2的一次环境清理记录
    Server Tomcat v7.0 Server at localhost failed to start
    PowerShell一例
    Server Tomcat v7.0 Server at libra failed to start
    商标注册英语
    A glance for agile method
  • 原文地址:https://www.cnblogs.com/wcb-xtu/p/5373835.html
Copyright © 2011-2022 走看看