0
为EJB 3.2第3.4.7.2无状态会话Bean显示出下面的代码来证明平等的规范:无状态会话Bean对象标识
@EJB Cart cart1;
@EJB Cart cart2;
...
if (cart1.equals(cart1)) { // this test must return true
...
}
为EJB 3.2第3.4.7.2无状态会话Bean显示出下面的代码来证明平等的规范:无状态会话Bean对象标识
@EJB Cart cart1;
@EJB Cart cart2;
...
if (cart1.equals(cart1)) { // this test must return true
...
}
嗯,这不是很明显,我们INFACT谈论成功地代理引用由容器。
但是该示例主要用于与Stateful
bean相同的等于指令返回false
。在这种情况下容器返回一个新的引用,并且你最终得到两个不同的bean。
UPDATE
呃... ...我犯了一个错误,因为我已阅读cart1.equals(cart2)
。在这种情况下,我不得不说,如你所注意的那样,这几乎是显而易见的。
但是,仅仅因为它不是一个简单的参考,你已经获得了new
,但它是应用程序服务器为你管理的东西,很高兴知道它为你提供相同的对象标识。这在Stateful
的情况下尤其如此。
现在我无法想象Stateless
bean与Stateful
具有相同的对象标识,但我确信有一些示例。
实际上根据第3.4.7.1节'有状态'会话bean中的规范'语句'cart1.equals(cart1)'必须 - 也 - 返回'true' – ken