gpt4 book ai didi

ejb-3.0 - EJB 无状态 session bean 和有状态 session bean

转载 作者:行者123 更新时间:2023-12-04 22:37:28 26 4
gpt4 key购买 nike

我已经阅读了有关有状态和无状态 session bean 以及它们如何工作的各种书籍。我想知道这些 ejb 的真正用法以及使用普通 java 类的优势。基本上你什么时候选择无状态 ejb,什么时候选择有状态 ejb。我想要一个实时应用程序。

最佳答案

这些类型的 ejb 的使用通常在服务层作为服务类。

EJB3 无状态和有状态 bean 实际上是 POJO(带有一些注释),它们与普通类没有任何大的区别。

但是在使用方面,它们具有一些您在普通类(class)中找不到的能力,例如:

  • 它们可以被远程调用(例如 RMI 协议(protocol))。
  • 他们可以使用数据库连接和事务等应用程序服务器上下文资源。

  • 无状态的或有状态的:
    - 如果一个任务或流程可以在一个步骤中完成(通过一个方法调用)无状态是正确的选择
    就像一个认证过程
    - 如果一项任务需要一系列方法调用(不止一个),并且您需要保留以前的结果以便在下次调用中使用它们,那么就选择有状态的。
    就像一个运输过程(选择项目,添加/删除然后进行交易)


    http session 还是有状态的?

    ejb 可以在应用程序服务器中提供服务,并且它们可能具有不同类型的客户端,例如普通的 Swing 应用程序或...,因此在这些情况下您不能中继 http session 。

    如果您的应用服务器和网络服务器不同(分布式),则将数据保存在 http session 中并将其传递/取回应用服务器(网络开销)并不是一个好主意。

    关于ejb-3.0 - EJB 无状态 session bean 和有状态 session bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3587289/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com