我正在使用 java mail api 1.4.1 来获取新电子邮件。两个类被用来获取电子邮件然后解析它。“GetMail”类与邮件服务器(Gmail、雅虎等)通信并获取消息对象。然后将消息对象传递给另一个类“MailFormatter”类,然后解析消息对象,获取电子邮件标头(From、To、Subject 等),然后解析 Multipart 内容以获得主体和附件。因为“邮件获取”和“邮件格式化”过程都非常耗费资源,这些类将作为单独的 Web 应用程序实现。此应用程序将监视新电子邮件中的大量电子邮件 ID。如果这些(“GetMail”和“MailFormatter” ") 被实现为单独的 Web 应用程序,如何将消息对象从“GetMail”应用程序传递到“MailFormatter”应用程序?有没有一种方法可以将获得的消息对象保存在某个位置(“GetMail”和“MailFormatter”应用程序都通用的位置),以便“GetMail”可以将消息对象保存在该位置,并且然后“MailFormatter”应用程序可以从该位置读取“消息”对象并执行解析过程。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。应用程序 ?有没有一种方法可以将获得的消息对象保存在某个位置(“GetMail”和“MailFormatter”应用程序都通用的位置),以便“GetMail”可以将消息对象保存在该位置,并且然后“MailFormatter”应用程序可以从该位置读取“消息”对象并执行解析过程。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。应用程序 ?有没有一种方法可以将获得的消息对象保存在某个位置(“GetMail”和“MailFormatter”应用程序都通用的位置),以便“GetMail”可以将消息对象保存在该位置,并且然后“MailFormatter”应用程序可以从该位置读取“消息”对象并执行解析过程。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。
问问题
2288 次
2 回答
1
那么 MimeMessage 可以使用 writeTo(OutputStream) 进行序列化,并使用构造函数 MimeMessage(Session,InputStream) 进行反序列化。
因此,可以从一个 webapp 向另一个 webapp 发送消息。
于 2009-06-29T09:58:32.597 回答
0
我意识到我没有回答您的问题(!),但我想知道您是否解决了正确的问题。解析是否如此耗时以至于需要拆分为不同的进程。您是否尝试过通过一个线程收集消息,并通过另一个线程异步解析它们?我怀疑这比执行某种形式的 IPC 更简单。
如果您确实想要序列化不是Serializable
的对象,请查看XStream,它将序列化大多数内容到 XML 或从 XML 序列化。
于 2009-06-29T10:06:55.233 回答