我是 EJB 的新手。在调用同一个 bean 上的任何方法之前,我需要调用远程无状态 bean 的方法并设置一个值。从第一个方法调用设置的值应该可用于第二个方法。我知道无状态 bean 不能为下一次调用保存实例变量值。是否有任何替代方法可以使 bean 方法可以使用该值而不使 bean 成为有状态 bean。任何调整提示?
问问题
254 次
2 回答
1
是否有任何替代方法可以使 bean 方法可以使用该值而不使 bean 成为有状态 bean?
如果不将值传递给第二种方法或将其持久化,例如在数据库中,我不这么认为(使用实例变量肯定不是解决方案,因为您不确定在每个方法调用中调用同一个会话 bean,因为池可以为您的方法调用返回任何会话 bean)。
于 2009-12-24T18:55:59.087 回答
1
这是对无状态会话 bean 的错误使用。无状态应该只依赖于传递给它的参数,而不依赖于其他先前的状态。即使你对它进行了修改,想想以后会支持它的可怜人。数据库绝对是一种更好的方法。否则,您可以使用拦截器吗?它们在 EJB 3.0 中非常强大,甚至可以更改参数、设置一些值等。
于 2009-12-24T19:05:03.730 回答