【发布时间】:2013-01-03 07:19:49
【问题描述】:
如果邮件发送到我的收件箱,我会收到一条消息,然后我会将内容插入 DB。 我有一个 org.springframework.integration.core.Message 如下所示:
public void receive(Message<?> message)
{
//I am inserting message contents into DB
}
现在万一发生故障,我想有故障安全恢复机制,我的想法是将 Message 对象序列化为文件,然后反序列化并更新到 DB。
问题 1.这种情况下如何序列化Message对象? 2. 除了序列化还有什么其他的机制可以使用吗?
编辑 我之前没有做过序列化,听说类应该实现Serializable才能使用ObjectOutputStream,这种情况下我不想创建Message的子类,那么如何将Message序列化为文件?
【问题讨论】:
-
您可以将消息内容写入文件,然后再读取。
-
如何在没有子类化消息并实现可序列化的情况下做到这一点?
-
为此您必须手动实现序列化。例如,如果您的消息 obj 有一个名为 sender: 的属性,那么您可以在文本文件中将其写为 $sender: "name" 并在回读时创建一个新的消息对象,读取保存的文件,解析其 $sender 并分配将其添加到您创建的消息对象中。
-
但是是的,解析将是另一个令人头疼的问题。
标签: java serialization