javamail - store.close() 对打开的文件夹有影响吗?

See*_*ker 6 imap store jakarta-mail

我正在使用 javamail 建立与 gmail 的 IMAP 连接。一切正常。我只是想防止滥用服务器内存。

我的问题是:当我关闭商店时会发生什么?[store.close();] 是否关闭所有打开的文件夹?必须关闭所有文件夹吗?

如果我将特定文件夹保持打开状态,则会带来巨大的速度优势。

Sim*_*iné 4

来自 Javamail API 文档

“关闭此服务并终止其连接。关闭ConnectionEvent将传递给任何ConnectionListener。此服务关闭后,属于此服务的任何消息传递组件(文件夹、消息等)均无效。请注意,即使此服务也已关闭方法通过抛出 MessagingException 异常终止。”

因此,您可以保持文件夹打开,但如果您尝试第二次folder.open,则会出现异常,此时必须使用:

if(!folder.isOpen()){folder.open();}
Run Code Online (Sandbox Code Playgroud)

我希望对你有帮助