階段作業容錯移轉時,對開啟的檔案或網路連線的任何參照都會遺失。編碼應用程式時必須牢記此限制。
僅可以將某些物件連結至支援容錯移轉的分散式階段作業。與 Servlet 2.4 規格相反,如果不支援容錯移轉的物件類型連結至分散式階段作業,Sun Java System Application Server 不會丟出 IllegalArgumentException。
可以將以下物件連結至支援容錯移轉的分散式階段作業:
所有 EJB 元件的本地主機參照和物件參照。
共同存在的實體 Bean、有狀態階段作業 Bean 和分散式實體 Bean 遠端主機參照、遠端參照
分散式階段作業 Bean 遠端主機和遠端參照
InitialContext 和 java:comp/env 的 JNDI 上下文。
UserTransaction 物件。但是,如果出現故障的實例從未重新啟動,則任何就緒的全域作業事件都將遺失,且可能無法正確回復或確定。
可串列化 Java 類型
無法將以下物件類型連結至支援容錯移轉的階段作業:
JDBC DataSource
Java Message Service (JMS) ConnectionFactory 和 Destination 物件
JavaMail™ 階段作業
連線工廠
管理的物件
Web 服務參照
通常,對於這些物件,容錯移轉不可用。但是,容錯移轉可能在某些情況下可用,例如,如果物件是可串列化的。