Weblogic的五种Session持久化策略及NotSerializableException

Weblogic共提供了五种Session持久化策略:
1. 内存存储 Memory (single-server, non-replicated)
2. 文件系统持久化策略 File system persistence
3. JDBC持久化策略 JDBC persistence
4. 基于Cookie的Session持久化策略 Cookie-based session persistence
5. 基于内存的可复制Session存储 In-memory replication (across a cluster)
Weblogic的session持久化策略是在weblogic.xml的persistent-store-type参数中指定,缺省状态下为memory,共有如下所列9种选项:
* memory—不启用Session持久化.
* replicated—跟 memory一样, 但是session数据可以在集群服务器之间复制.
* replicated_if_clustered—如果Web应用时部署在一个集群服务器中,是replicated的,否则为memory
* async-replicated—异步的session复制
* async-replicated-if-clustered—如果是在集群环境中,启用replicated,否则启用in memory模式。
* async-jdbc—异步的基于jdbc的session持久化
* jdbc—使用数据库来进行session的持久化.

* cookie—所有的session数据存储在用户端的cookie中.


最近一个项目,java类均实现了serializable这个类,但是配置的weblogic集群中,访问时依然会报异常java.io.NotSerializableException;经查是由于session复制出现异常造成的;更改domain目录下的webloic.xml配置即可。至于实现了序列化类依然报序列化异常还没有找到原因,望懂的人告知!!!

question:

<Error> <Cluster> <BEA-000126> All session objects shoud be serializable to replicate. Check the objects in you session. Failed to replicate non-serializable object.java.rmi.MarchalException:failed to marshal update(Lweblogic.cluster.replication.ROID;IL java.io.Serializable;Ljava.lang.Object;);nested exception is:
java.io.NotSerializableException:cn.***.***.TransDetl

如图:

solution:修改配置文件./domain_home/applications/***.ear/***.war/WEB-INF/weblogic.xml

Weblogic的五种Session持久化策略及NotSerializableException_第1张图片

你可能感兴趣的:(Weblogic的五种Session持久化策略及NotSerializableException)