2011-07-26 64 views
2

我正在閱讀一本EJB 3.1書(O'Reilly,Andrew Lee Rubinger和Bill Burke),作者提到(這些不是書,這是我自己的理解課文):有狀態會話bean在反序列化後不會得到默認值

在SFSB

當其變得激活(出來鈍化 池),序列化的對象,不像原來的規範之後,將不返回 喜歡的默認值int不保證返回0,並且對象 不保證返回null

我的理解是否正確?如果這是真的,爲什麼EJB有這種行爲?

http://www.coderanch.com/t/546765/java-EJB-SCBCD/certification/why-serialization-unpredictable-SFSB#2481285

回答

2

按規格原帖是隻適用於短暫的領域。

從規格 - 奧賴利沒有設計的EJB(只是說...):

「當容器不需要使用序列化協議 Java編程語言來存儲鈍化會話實例的狀態,它必須達到等效結果有一個例外是,容器不需要在激活期間重置瞬態字段的值[12]。將會話bean的字段聲明爲transient ,一般來說,不鼓勵。「 [EJB 3.1 - 4.2.1 - 重點煤礦]

編輯:

順便說一句,在回答你的問題也是在EJB規範:

「上使用瞬態字段限制確保容器可以在鈍化和激活期間使用Java序列化。「

EJB 3.1 spec (mirror/pdf)

+0

該死的看到「太陽」pdf,順便說一句。安息。 – alphazero