我们要求从Office365帐户读取电子邮件并在我们的Java EE应用程序中显示它们。我们使用JavaMail完成它并按预期工作;但问题在于性能。它需要大约30秒到3分钟才能阅读电子邮件,具体取决于邮件或附件的大小。有什么方法可以改善这种表现吗?以下是我们采取的方法的更多细节。
我们想到了不同的替代方法,例如从PST文件读取或通过后台进程将电子邮件存储到我们的数据库中,然后从数据库中读取,但它们都没有真正解决。 有没有其他方法可以做到这一点。我们发现有一个适用于android的Office365 SDK,我们可以使用它吗?
答案 0 :(得分:1)
首先,it's not "JEE", it's "Java EE"。
你还没有真正提供任何关于你正在做什么的细节需要30秒到3分钟。它正在阅读1条消息吗?它是在阅读1000条消息吗?
你读“消息”的确是什么意思?只显示标题信息,或显示所有邮件内容?
时间是否包含连接服务器和打开文件夹的时间?或者只是在打开文件夹后访问消息的时间?
你看过JavaMail debug output了吗?如果使用java.util.logging来获取带时间戳的日志记录输出,那么您可以知道哪个操作占用了时间。
您是否使用Folder.fetch方法批量预取邮件数据?
为什么你认为Office365不仅速度慢?
通过更多详细信息,我们可以为如何提高程序性能提供更多提示。