Java 寻址未知服务器ActiveMQ时连接暂停

Java 寻址未知服务器ActiveMQ时连接暂停,java,queue,jms,activemq,Java,Queue,Jms,Activemq,我在Java中使用ActiveMQ和JMS 当我使用此url发送邮件时: "failover:(tcp://host:61616)?connection.sendTimeout=1000&startupMaxReconnectAttempts=1" 只要“主机”是一个已知的服务器,我就可以连接到它,当然还有一个ActiveMQ,一切都可以正常工作 问题是,当我试图将消息发送到与我无关的未知服务器时——没有连接,发送会暂停相当长的时间 我想配置url,这样就不会发生这种暂停。我尝试了如示

我在Java中使用ActiveMQ和JMS

当我使用此url发送邮件时:

"failover:(tcp://host:61616)?connection.sendTimeout=1000&startupMaxReconnectAttempts=1"
只要“主机”是一个已知的服务器,我就可以连接到它,当然还有一个ActiveMQ,一切都可以正常工作

问题是,当我试图将消息发送到与我无关的未知服务器时——没有连接,发送会暂停相当长的时间

我想配置url,这样就不会发生这种暂停。我尝试了如示例所示的超时,但它不起作用。我还尝试了soConnectionTimeout,但它也不起作用

此失速导致产品失速,这是一个大问题


如何修复它?

您是否已尝试将“connectionTimeout”选项添加到URI中,如文档所示?超时值控制连接调用失败的时间。

您是否已尝试将“connectionTimeout”选项添加到URI中,如文档所示?超时值控制连接调用失败前的时间。

出于好奇,您是否在主机为FQDN或IP的情况下遇到暂停;i、 可能是DNS超时吗?@Anders R.Bystrup我正在发送主机IP。我没有出于好奇尝试发送数据,您是否体验过主机为FQDN或IP的失速;i、 可能是DNS超时吗?@Anders R.Bystrup我正在发送主机IP。没有尝试使用故障转移协议发送DNSI am,并且尝试了超时选项,但该选项不起作用。如果您需要设置TCP级别的传输选项,以控制套接字等待的时间。这是一个TCP传输选项,请阅读我答案中链接的页面。我使用的是故障转移协议,并尝试了超时选项,但该选项不起作用。如果您需要设置TCP级别的传输选项,以控制套接字等待的时间。这是一个TCP传输选项,请阅读我答案中链接的页面。