2010-06-23 61 views

回答

2

当然。您应该尽可能使用无状态(它们更快,消耗更少的内存,因为它们不需要序列化和反序列化)并且仅在需要时才有状态。因此,拥有(例如)8个无状态和2个有状态的bean是完全可以的

8

你的问题很模糊,但是你似乎基本上会问是否可以使用无状态或有状态会话bean。

  • 无状态会话bean(SLSB)确实易于使用。几乎没有什么可配置的,并且它们非常适合公开服务。

  • 有状态会话bean(SFSB)表面上类似于SLSB。但是,它们是有状态的,这使得它们的编程模型不同,而且更难于使用。例如,您需要配置一个与您的负载匹配的池大小,设置超时参数,并且不要忘记正确处理它们。除非您确切知道为什么会使用它们而不是另一种较轻的方法(例如HttpSession或数据库),并且只有在您具有良好的EJB模型命令的情况下,人们通常会对它提出建议。更多关于Stateful EJBs in web app的信息。

但是SLSB和SFSB当然可以在应用程序中一起使用。这项技术自十年以来就已有大量的信息可供使用。然而,鼓励尽可能使您的设计成为无状态。