【发布时间】:2012-08-20 00:25:38
【问题描述】:
我发现了一个非常有趣的问题,也找到了答案
指的是http://www.adam-bien.com/roller/abien/entry/ejb_3_1_and_rest。
这是一个非常有用的功能。我的问题是会话 bean 是否需要是 singleton?我引用的查询声明它应该是一个单例会话 bean,而查询引用的原始会话 bean 不包含此语句。如果必须是单例,你能告诉我为什么吗?
也提前谢谢你,Tamas。
【问题讨论】:
我发现了一个非常有趣的问题,也找到了答案
指的是http://www.adam-bien.com/roller/abien/entry/ejb_3_1_and_rest。
这是一个非常有用的功能。我的问题是会话 bean 是否需要是 singleton?我引用的查询声明它应该是一个单例会话 bean,而查询引用的原始会话 bean 不包含此语句。如果必须是单例,你能告诉我为什么吗?
也提前谢谢你,Tamas。
【问题讨论】:
虽然对于实现 REST 的类的 EJB 类型没有任何限制(实际上这个类甚至根本不需要是 EJB),但一种易于维护和可扩展的方法建议为此目的使用Stateless bean。
看看这篇有趣的文章:RESTful Web services: The basics, by A. Rodriguez,其中有一个关于该主题的部分(标题为 Be stateless)。从那部分,让我引用一些东西:
另一方面,无状态服务器端组件的设计、编写和跨负载平衡服务器分发的复杂性较低。无状态服务不仅性能更好,而且将维护状态的大部分责任转移给客户端应用程序。在 RESTful Web 服务中,服务器负责生成响应并提供使客户端能够自行维护应用程序状态的接口。
【讨论】: