相同的代码在一个Websphere应用程序服务器环境中引发java.io.NotSerializableException,而在另一个环境中则不会引发

问题描述

我们在UAT WAS环境中遇到了一个有趣的问题。部署到DEV(1节点)环境的相同代码可以完美运行。但是,它在具有相同配置的UAT(2个节点)上引发以下异常。唯一的区别是节点数。 如果有人遇到此问题,请告知。

FFDC异常:java.io.NotSerializableException SourceId:com.ibm.ws.session.store.db.DatabaseHashMap.commonSetup ProbeId:2052 Reporter:java.util.Hashtable@47a5b63a java.io.NotSerializableException:test.com.controller.myController

Env(DEV-1节点):WebSphere Platform 9.0.5.3 [BASE 9.0.5.3 f5032008.04] [JAVA8 8.0.6.7 ...] Env(UAT-2节点):WebSphere Platform 9.0.5.3 [BASE 9.0.5.3 f5032008.04] [JAVA8 8.0.6.7 ...]

提前谢谢!

解决方法

可能您已在UAT2环境中配置了会话持久性,并且您的应用程序正在HTTP会话中存储不可序列化的内容。在UAT1中,您只有一台服务器,因此在这种情况下无需会话持久性,因此也不例外。

,

我们发现了问题,似乎控制器的数据模型类和父类未实现可序列化。子控制器可能会调用某些超类方法,从而导致此问题

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...