我正在学习EJB3,并且很好奇何时使用SFSB(有状态会话Bean)更方便?我找不到任何漂亮的例子,说明SFSB如何轻松解决一些复杂问题。
实际上,我发现SLSB(无状态会话Bean)可以用作Web服务,这很方便。但我不知道什么时候使用SFSB。我只看到它存在问题,因为我们需要学习一些关于它的内容,我们应该写一些注释代码,还要使用繁琐的查找(lookup)...而我们得不到什么好处。
例如,我们不能从SLSB中使用SFSB,因为有状态对象只能从有状态上下文中使用。我们不能在Servlet中使用DI,而是应该使用JNDI查找手动创建SFSB实例,然后将其放入HttpSession对象中。它不能成为Web服务。
我唯一能看到的SFSB好处是事务管理。但我认为只有在我们真正需要事务并且不需要DB时才会出现这种情况。我可以想象,在存储数据在XML文件中并使用SFSB中的事务管理来管理非关系型数据库时,它可能非常有用。
我几乎肯定我完全错了,所以请给我一些真正好的SFSB使用例子。