WAS ND集群中的HTTP内存会话复制对Java应用程序序列化编程的要求

时间:2022-07-02 08:14:28

应用程序需要遵守的约定

在会话中没有自定义对象时,WAS 集群的 HTTP 会话内存复制特性成功地实现了高可用性,使用户在宕机过程中的会话信息没有丢失,操作没有受到任何影响。

在会话中包含自定义对象时,通过使对象实现 Serializable 接口(即在类定义时声明 implements Serializable),也可以实现高可用的目标。

事实上,把 JDK 的一些系统类放入会话中时,可以不用考虑序列化的问题,因为这些系统类默认是可序列化的,这些类包括但不限于以下:

java.lang.Character

java.lang.Boolean

java.lang.String

java.lang.StringBuffer

java.lang.Throwable-(包括所有 Exception 的子类)

java.lang.Number-(包括 Integer、Long 等)

java.util.Hashtable

java.util.Random

java.util.Vector-(包括 Stack)

java.util.Date

java.util.BitSet

java.io.File

java.net.InetAddress

java.rmi.server.RemoteObject

如果需要将自定义对象放入会话中,则必须将类声明为实现了 Serializable 接口。