我已经按照 this post 中的建议编写了批量获取 IMAP 命令。 .
当我将其作为 JUnit 运行或作为 jar 实用程序独立运行时,它运行得完美且快速。
当我将它部署在 JBoss 上并开始作为 quartz 调度程序运行时,下面的异常开始发生。我检查了 Dynatrace,没有发现 CPU 或内存出现任何峰值。
有人可以建议我在 JBoss 中检查哪些参数可能会导致缓冲区大小或 IMAP 连接时间受到限制。我检查了是否存在任何冲突的 Java 邮件jar,但没有成功。
java.lang.IndexOutOfBoundsException
at java.io.BufferedInputStream.read(BufferedInputStream.java:327)
at com.sun.mail.iap.ResponseInputStream.readResponse(ResponseInputStream.java:154)
at com.sun.mail.iap.Response.<init>(Response.java:95)
at com.sun.mail.imap.protocol.IMAPResponse.<init>(IMAPResponse.java:60)
at com.sun.mail.imap.protocol.IMAPResponse.readResponse(IMAPResponse.java:134)
at com.sun.mail.imap.protocol.IMAPProtocol.readResponse(IMAPProtocol.java:270)
at com.sun.mail.iap.Protocol.command(Protocol.java:313)
at com.macys.notification.handlers.impl.BCCArchiveHandler$CustomProtocolCommand.doCommand(BCCArchiveHandler.java:321)
at com.sun.mail.imap.IMAPFolder.doProtocolCommand(IMAPFolder.java:2721)
at com.sun.mail.imap.IMAPFolder.doCommand(IMAPFolder.java:2671)
最佳答案
终于找到解决办法了。在 jboss 服务器上,ssl 调试日志已打开。一旦我删除了 -Djavax.net.debug=ssl,handshake -Djavax.net.debug=all ,它就得到了修复。
关于java - Imap 获取时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36438959/