关于java:ActiveMQ NIO配置

ActiveMQ NIO configuration

我正在研究ActiveMQ中从tcp切换到nio的选项。
文档提供了一个示例,其中在代理的xml配置中仅更改了URI的方案:

1
2
3
4
5
6
7
<broker>
  ...
  <transportConnectors>
    <transportConnector name="nio" uri="nio://0.0.0.0:61616"/>  
  </<transportConnectors>
  ...
</broker>

问题:那么,我是否还必须更改客户端配置的方案以使其匹配?例如,

1
 

这似乎也使其他人感到困惑:

  • http://activemq.2283324.n4.nabble.com/Problem-with-NIO-protocol-td3540710.html。
  • http://activemq.2283324.n4.nabble.com/NIO-freezes-client-td2361338.html。

这些线程声称仅需要为代理配置NIO,但是是否有任何官方文档来支持此操作?谢谢。


您无需将客户端从tcp或任何其他方式更改为NIO,代理是使用或受益于NIO的唯一一方,因为客户端维护单个开放连接。即使您确实更改为NIO,该代码也足够聪明,足以知道客户端正在请求NIO并在TCP工厂中进行交换,因此最终还是会得到相同的结果。