2017-07-24 142 views
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 
... 
} 

回答

0

嗯,這不是很明顯,我們INFACT談論成功地代理引用由容器。

但是該示例主要用於與Stateful bean相同的等於指令返回false。在這種情況下容器返回一個新的引用,並且你最終得到兩個不同的bean。

UPDATE

呃... ...我犯了一個錯誤,因爲我已閱讀cart1.equals(cart2)。在這種情況下,我不得不說,如你所注意的那樣,這幾乎是顯而易見的。

但是,僅僅因爲它不是一個簡單的參考,你已經獲得了new,但它是應用程序服務器爲你管理的東西,很高興知道它爲你提供相同的對象標識。這在Stateful的情況下尤其如此。

現在我無法想象Stateless bean與Stateful具有相同的對象標識,但我確信有一些示例。

+0

實際上根據第3.4.7.1節'有狀態'會話bean中的規範'語句'cart1.equals(cart1)'必須 - 也 - 返回'true' – ken