1

我发现了一个非常有趣的问题以及答案

如何将 EJB 3.1 公开为 REST Web 服务?

这是指 http://www.adam-bien.com/roller/abien/entry/ejb_3_1_and_rest

这是一个非常有用的功能。我的问题是会话 bean 是否需要是单例的?我引用的查询声明它应该是一个单例会话 bean,而查询引用的原始会话 bean 不包含此语句。如果它必须是单例,你能告诉我为什么吗?

也提前谢谢你,塔马斯。

4

1 回答 1

3

尽管对实现 REST 的类的类型没有任何限制EJB(实际上这个类甚至根本不需要是一个EJB),但一种易于维护和可扩展的方法建议Stateless为此目的使用 bean。

看看这篇有趣的文章:RESTful Web 服务:基础知识,作者 A. Rodriguez,其中有一个关于该主题的部分(标题为Be stateless)。从那部分,让我引用一些东西:

另一方面,无状态服务器端组件的设计、编写和跨负载平衡服务器分发的复杂性较低。无状态服务不仅性能更好,而且将维护状态的大部分责任转移给客户端应用程序。在 RESTful Web 服务中,服务器负责生成响应并提供使客户端能够自行维护应用程序状态的接口。

于 2012-08-24T12:51:29.057 回答