IBM MQ websphere - 创建一个额外的TCP“ACK”并等待13秒以获得答案

时间:2015-02-02 07:28:44

标签: tcp ibm-mq

我有两个拥有相同Java应用程序('clients')的Tomcats,它们与单个MQ服务器进行通信

在一个客户端上,通信速度很快,但另一方面需要花费很多时间(> 13秒)。

在基础设施上唯一的区别是“慢客户端”与服务器位于不同的域上,而“快速客户端”位于同一个域上,据我所知,这应该会造成任何麻烦。

我用Wireshark两种方式嗅探了通信,我发现了一个区别:MQ服务器向慢速客户端发送一个额外的“ACK”,没有得到任何结果,等待13秒然后发送“ INITIAL DATA“实际开始工作的数据包,如下所示:

客户 - >服务器:IBM WebSphere SYN

服务器 - >客户端:IBM WebSphere SYN-ACK

客户 - >服务器:IBM WebSphere ACK

客户 - >服务器:初始数据

服务器 - >客户端:IBM WebSphere ACK //仅限慢客户端!!!

//等待13秒 - 仅限慢客户端。

服务器 - > client:INITIAL DATA //从这里开始,它在两个客户端上流动

注意:

1)与服务器的通信不是SSL,而是使用IP地址而不是DNS名称,因此不应解决问题。

2)我之前发表了类似的问题 - 这不是同一个案例!上次是BIOS over TCP问题。

1 个答案:

答案 0 :(得分:0)

我们用来解决问题的方法是使用SimpleConnctionManager和长时间超时。

这是一个解决方法,但它有效。