2
我正在开发一个java应用程序,它需要并保存与attachemnts.mail的所有邮件。但我想要多线程。我的想法就是这样。带多线程的Javax邮件
一个计时器线程正在获取所有邮件并将它们放在一个BlockingQueue中。我将Javax.mail.Message
对象放入队列中。然后我的工作线程正在处理它们。
问题是,当工作线程正在消息并调用方法:
Message.getFolder.open();
Message.getFolder.close();
导致problems.If一个线程打开的文件夹和另一个尝试打开同一个文件夹,应用程序抛出操作不允许例外。
有人可以帮助我吗?打开它之前
据我,你应该有任何一个读取器线程或一个文件夹每个线程。这将解决您的问题。不要尝试使用相同的线程读取相同的文件夹。或者,也可以在主线程打开文件夹进行读取操作后,从一个文件夹中获取消息。 –