我正在开发一个 java 应用程序,它接收并保存所有带有附件的邮件。但我想做多线程。我的想法就是这样。
一个计时器线程正在获取所有邮件并将它们放入 BlockingQueue。我将Javax.mail.Message
对象放入队列。然后我的工作线程正在接收并处理它们。
问题是当工作线程接受 Message 并调用方法时:
Message.getFolder.open();
Message.getFolder.close();
导致问题。如果一个线程打开文件夹而另一个线程尝试打开同一个文件夹,应用程序将抛出Operation is not allowed异常。
有人能帮我吗 ?