Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
响应消息:javax.mail.MessageRemovedException:can';无法在POP3Message.getContentStream中检索消息#1_Java_Jmeter_Smtp_Imap_Pop3 - Fatal编程技术网

响应消息:javax.mail.MessageRemovedException:can';无法在POP3Message.getContentStream中检索消息#1

响应消息:javax.mail.MessageRemovedException:can';无法在POP3Message.getContentStream中检索消息#1,java,jmeter,smtp,imap,pop3,Java,Jmeter,Smtp,Imap,Pop3,我正在尝试从JMeter应用程序实现邮件协议。SMTP工作正常。在POP3的情况下,我得到了一些线程的上述错误 尝试过的解决方案: 认证分配给POP3 增加了已验证超时的值 登录错误已解决 问题:为什么一些线程在POP3实现期间没有从输入流中获取消息?POP作为协议,做出了两大假设:首先,当您查看邮箱时,没有任何其他内容会修改邮箱。第二,消息被删除或存档,或者在您查看后执行其他操作(服务器决定具体操作,客户端可以通过执行一些非默认操作来选择退出,我忘记了细节)。这种设计出现在每台服务器和每一个客

我正在尝试从JMeter应用程序实现邮件协议。SMTP工作正常。在POP3的情况下,我得到了一些线程的上述错误

尝试过的解决方案:

  • 认证分配给POP3
  • 增加了已验证超时的值
  • 登录错误已解决

  • 问题:为什么一些线程在POP3实现期间没有从输入流中获取消息?POP作为协议,做出了两大假设:首先,当您查看邮箱时,没有任何其他内容会修改邮箱。第二,消息被删除或存档,或者在您查看后执行其他操作(服务器决定具体操作,客户端可以通过执行一些非默认操作来选择退出,我忘记了细节)。这种设计出现在每台服务器和每一个客户端库中。您正在以多个线程打开邮箱,因此服务器、客户端库或两者都会出现问题


    您可以尝试使用单个线程,也可以更改为IMAP,或者您可以尝试调查您的客户机和服务器,以避免看到的问题。这三个都是可能的,即使是第三个。

    作为协议,POP做出了两个大的假设:第一,当您查看邮箱时,没有其他东西会修改邮箱。第二,消息被删除或存档,或者在您查看后执行其他操作(服务器决定具体操作,客户端可以通过执行一些非默认操作来选择退出,我忘记了细节)。这种设计出现在每台服务器和每一个客户端库中。您正在以多个线程打开邮箱,因此服务器、客户端库或两者都会出现问题


    您可以尝试使用单个线程,也可以更改为IMAP,或者您可以尝试调查您的客户机和服务器,以避免看到的问题。这三个都是可能的,即使是第三个。

    最有可能的情况是,您使用的凭据(邮箱)超过1个线程,这在我看来不是正常的用例,因此请确保使用,即确保不同的线程(虚拟用户)使用不同的凭据,从而访问不同的邮箱


    如果您的测试假设已经有不同的登录,您可以尝试通过启用调试日志来确定发生了什么,以便通过将下一行添加到system.properties文件,将
    mail.debug
    属性设置为
    true

    或者通过
    -D
    命令行参数启动JMeter提供上述属性

    jmeter -Dmail.debug=true -n -t test.jmx -l result.jtl
    
    更多信息:


    最可能的情况是,您使用的凭据(邮箱)与>1个线程相同,这在我看来不是正常的用例,因此请确保使用,即确保不同的线程(虚拟用户)使用不同的凭据,从而访问不同的邮箱


    如果您的测试假设已经有不同的登录,您可以尝试通过启用调试日志来确定发生了什么,以便通过将下一行添加到system.properties文件,将
    mail.debug
    属性设置为
    true

    或者通过
    -D
    命令行参数启动JMeter提供上述属性

    jmeter -Dmail.debug=true -n -t test.jmx -l result.jtl
    
    更多信息:


    对于单线程,它工作正常。有关详细信息,我将使用MS Exchange server 2016作为邮件服务器。但是我的问题是-我可以使用POP3访问某些线程的邮箱而不出错吗?或者我需要更改MS Exchange Server中的某些设置吗?您的意思是,您可以从多个线程访问相同的数据结构而无需任何锁定吗?不,你不能。也许你可以在交换中激活某种类型的锁定。如果你这样做,它可能会锁定除一个线程之外的所有线程。对于单个线程,它工作正常。有关详细信息,我将使用MS Exchange server 2016作为邮件服务器。但是我的问题是-我可以使用POP3访问某些线程的邮箱而不出错吗?或者我需要更改MS Exchange Server中的某些设置吗?您的意思是,您可以从多个线程访问相同的数据结构而无需任何锁定吗?不,你不能。也许你可以在交换中激活某种类型的锁定。如果这样做,它可能会锁定除一个线程之外的所有线程。