将无状态EJB3.1会话bean转换为RESTful web服务



我发现了一个非常有趣的问题,也是的答案

如何将EJB 3.1公开为RESTWeb服务?

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

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

也提前谢谢你,塔玛斯。

尽管实现REST的类的EJB类型没有限制(事实上,这个类根本不需要是EJB),但一种易于维护和可扩展的方法建议使用Statelessbean。

看看这篇有趣的文章:a.Rodriguez的《RESTful Web services:The basics》,其中有一节是关于这个主题的(标题为《成为无状态的人》)。在这一节中,让我引用一些内容:

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