有状态的将始终为某些客户端服务,这是 EJB 文档所说的。
在 Web 应用程序中,我们使用 cookie 或 jsession 来了解某个客户端是前一个客户端。
有状态 ejb/容器如何知道某个客户端是前一个客户端?
\n\n\n有状态 ejb/容器如何知道某个客户端是上一个客户端?
\n
事实并非如此。客户端必须在有状态对话的所有调用中保留对有状态 EJB 的引用。
\n\n使 EJB 有状态的事实是它能够在同一客户端执行的多次调用期间保持状态,而不是它(不存在)识别先前进行调用的客户端的能力。
\n\n对于无状态 EJB,您还可以保存引用,但该引用不能保证保存两次调用之间的状态。
\n\n我引用http://docs.oracle.com/javaee/6/tutorial/doc/gipjg.html
\n\n\n\n无状态会话 Bean 不维护与客户端的会话状态。当客户端调用无状态 bean 的方法时,bean\xe2\x80\x99s 实例变量可能包含特定于该客户端的状态,但仅在调用期间有效。当该方法完成时,不应保留特定于客户端的状态。然而,客户端可以更改池化无状态 Bean 中的实例变量的状态,并且该状态将保留到池化无状态 Bean 的下一次调用。除方法调用期间外,无状态 bean 的所有\n 实例都是等效的,允许 EJB\n 容器将实例分配给任何客户端。也就是说,无状态会话 Bean 的状态应该适用于所有客户端。
\n