为什么要使用有状态会话bean?

我正在学习EJB3,我只是好奇使用SFSB的方便吗? 当SFSB轻易解决一些复杂的问题时,我找不到任何好的例子。

实际上我看到SLSB可以用作网络服务,这很方便。 但我不知道何时使用SFSB。 我只看到它的问题,因为我们应该学习一些关于它的东西,我们应该编写一个由注释组成的代码,然后我们应该使用恼人的查找…而且我们得不到任何好的回报。

例如,我们不能使用SLSB中的SFSB,因为有状态对象只能用于有状态上下文。 我们不能在servlet中使用DI,而是应该使用JNDI查找手动创建SFSB实例,然后将其放入HttpSession对象中。 它不能是网络服务。

我在SFSB中看到的唯一好处是事务管理。 但我认为这种情况很少见,因为我们真的需要一个交易,而且我们不需要DB。 我可以想象,当我们将数据存储在XML文件中并使用SFSB中的事务管理来管理非关系数据库时,它确实非常有用。

我几乎可以肯定我完全错了,所以给我一些非常好的SFSB用法示例。

在有状态和无状态架构之间进行选择只是设计问题。

大多数时候,无状态设计是首选,因为它更容易。

虽然在开始时更容易理解,但构建无状态应用程序会导致一系列问题(大量无状态Web服务,弹簧单例等等),从长远来看使应用程序的可管理性降低。

我希望尽可能设计有状态的应用程序。

有状态会话bean是一种方法。 spring原型或web-scoped bean另一种。

检查出jboss接缝框架。