EJB 3.2规范第3.4.7.2节“无状态会话Bean”显示以下代码以说明相等性:
@EJB Cart cart1;
@EJB Cart cart2;
...
if (cart1.equals(cart1)) { // this test must return true
...
}
答案 0 :(得分:0)
嗯,这并不明显,我们实际上是在谈论对容器管理的代理的引用。
然而,该示例主要用于Stateful
bean,其中相同的等于指令返回false
。在这种情况下,容器返回一个新的引用,最终得到两个不同的bean。
<强>更新强>
嗯......我犯了一个错误,因为我读过cart1.equals(cart2)
。在这种情况下,我不得不说,你注意到它几乎是显而易见的。
但是,仅仅因为它不是您使用new
获得的简单引用,而是应用服务器为您管理的内容,最好知道它为您提供相同的对象身份。在Stateful
。
现在我想不出Stateless
bean与Stateful
相比具有相同对象标识的任何有用目的,但我确信有一些例子。