无状态EJB问题

时间:2008-09-26 18:54:30

标签: web-services ejb

我们有一个位于webservices(EJB3)后面的无状态EJB,这个EJB还加载了一个在它发出的调用中传递的EntityManager。我有一个问题。

同时调用webservice是使用相同的EJB还是有不同的实例?我问这个特别是关于注入的EntityManager的使用。

由于

1 个答案:

答案 0 :(得分:3)

应用程序服务器是否使用相同或不同的。你可能会认为他们是不同的。

现在,如果您正在注入它,我假设您已将其声明为实例变量,这对于无状态EJB来说是一个非常糟糕的主意,因为它很好。它不应该有国家。

让app服务器完成其工作,而不是注入EntityManager,而只需从上下文中获取它。来自无状态的每个方法调用都属于一个事务,不会干扰其他调用。

总结:假设它们是不同的实例,并且不要将自己注入那些类型的对象。从应用服务器负责的上下文中取出它们。

我希望我能正确理解你的问题。