4

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

<broker>
  ...
  <transportConnectors>
    <transportConnector name="nio" uri="nio://0.0.0.0:61616"/>  
  </<transportConnectors>
  ...
</broker>

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

<amq:connectionFactory id="jmsConnectionFactory" brokerURL="nio://localhost:61616?"/>

这似乎也是其他人困惑的根源:

这些线程声称只需要为代理配置 NIO,但是有没有官方文档支持这一点?谢谢。

4

1 回答 1

4

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

于 2012-11-14T23:50:08.963 回答