ejb-3.0 – EJB无状态会话bean和有状态会话bean

我已经阅读了有关有状态和无状态会话bean以及它们如何工作的各种书籍.我想知道这些ejbs的实际用法和优于使用普通java类的优点.基本上你什么时候去无国籍的ejbs,你什么时候去有状态的ejbs.我想要一个实时应用程序.
最佳答案
这些类型的ejbs的使用通常在服务层中作为服务类.

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

但在使用方面,他们有一些你在普通课程中找不到的能力,比如:

>可以远程调用它们(例如RMI协议).
>他们可以使用应用服务器上下文资源,如DB Connection和Transactions.

无国籍或有状态的:
– 如果任务或过程可以在一个步骤中完成(通过单个方法调用),则无状态是正确的选择
    像验证过程
– 如果任务需要一系列方法调用(多个),并且您需要保留以前的结果以在下次调用中使用它们,那么请转到有状态.
喜欢运输过程(选择项目,添加/删除然后进行交易)

http会话还是有状态的?

ejbs可以在应用程序服务器中提供,它们可能有不同类型的客户端,如普通的swing应用程序或……,因此在这些情况下你无法在http会话中进行中继.

如果您的appserver和Web服务器不同(分布式),那么不好的想法是将数据保存在http会话中并将其传递到/从应用服务器返回(网络开销).

转载注明原文:ejb-3.0 – EJB无状态会话bean和有状态会话bean - 代码日志