如果邮件发送到我的收件箱,我会收到一条消息,并且我正在将内容插入到数据库中。 我有一个 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序列化为文件?
最佳答案
当然,除了 jvm 之外,还有许多序列化机制。
- XML
- JSON
- BSON
- 消息包
- protobufs
- ...
其中一些是基于文本的,一些是二进制的。都有缺点和优点。基于文本的是人类可读的,二进制的更快并且占用更少的空间。
有处理上述所有格式的 java 库:JAXB (XML)、Jackson (JSON) 等。
关于java - 如何在不实现 Serializable 接口(interface)的情况下序列化/反序列化对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14134628/