尝试序列化时捕获异常

时间:2011-06-06 15:41:21

标签: java serialization

我的日志中出现以下错误

[6/6/11 17:16:33:558 CEST] 00000005 WASSession    E MTMBuffWrapper storeObject SESN0200E: Caught Exception while trying to serialize.
[6/6/11 17:16:33:558 CEST] 00000005 WASSession    E MTMHashMap handlePropertyHits SESN0202E: Failed to replicate attribute changeBankStatusForm

我已经确定了引发此错误的对象,这个对象很大,很多属性包含它们的自我属性

如何识别引发序列化错误的确切属性

由于

1 个答案:

答案 0 :(得分:2)

更新您的应用服务器似乎错误地处理了异常,因此您必须手动浏览所有字段并检查其类型是否实现Serializable


你最有可能处理你的异常错误。我假设你在做:

try { ..
} catch(Exception ex) {
   System.out.println("Caught Exception while trying to serialize"); // wrong
   ex.printStackTrace(); // better
   logger.error("Serialization problem", ex); //best
}

如果是这种情况 - 你无法获得更多信息,因为你吞下了这个例外。您应该改为调用ex.printStackTrace()(或使用日志框架)

然后异常将告诉您哪个类未通过序列化,因此您可以将其标记为Serializable