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

Rom*_*man 12 java stateful-session-bean ejb-3.0

我正在学习EJB3,我很好奇什么时候使用SFSB很方便?当SFSB轻易解决一些复杂的问题时,我找不到任何好的例子.

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

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

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

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

duf*_*ymo 8

我正在学习ejb3,我只是好奇才能使用SFSB?当SFSB轻易解决一些复杂的问题时,我找不到任何好的例子.

你的意思是购物车?这是我能想到的明显答案.

实际上我看到SLSB可以用作网络服务,这很方便.

您可以将EJB视为部署分布式服务的一种方式,但要小心.术语"Web服务"使大多数人想到"使用HTTP协议的基于SOAP的Web服务",而这不是您在SFSB中所拥有的.

但我不知道何时使用SFSB.我只看到它的问题,因为我们应该学习一些关于它的东西,我们应该编写一个由注释组成的代码,然后我们应该使用烦人的查找.我们不会得到任何好的回报.

这一段令人困惑,但我认为你说你不喜欢EJB.

例如,我们不能使用SLSB中的SFSB,因为有状态对象只能用于有状态上下文.

对,他们是互补的.您将SFSB用于需要的用例 - 等待它 - 在调用之间保持状态.

我们不能在servlet中使用DI,而不是我们应该使用lookup手动创建SFSB实例,然后将它放到HttpSession对象中.它不能是网络服务.

servlet从哪里来?

我在SFSB中看到的唯一利润是交易管理.但我认为,当我们真的需要一个交易并且我们不需要DB时,这种情况很少见.我可以假设,当我们将数据存储在xml文件中并在SFSB中使用事务管理来模拟非关系数据库时,它可能非常有用.

我觉得你完全不在这里.会话bean是了解工作单元和管理事务的人.当用例完成时,他们可能必须使用实体bean来保持某些状态,因此事务并不像你想象的那样罕见.

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

你有什么期望?有人会发布工作SFSB?我不打算这样做,主要是因为我不是一个很大的EJB粉丝.(我做的就是你提到的所有内容以及Spring的更多内容.)

但请放心,SFSB有时很有用.购物车就是一个明显的例子.在客户决定购买之前,您需要一个位置来维护购物车中的商品.SFSB是实现这一目标的一种方式.