我刚刚完成了NIO的功能,并了解了NIO以及NIO的工作原理。在我的项目中使用 ActiveMQ 来读取客户端的消息。要阅读 ActiveMQ 中的消息,我创建了消费者以加快处理收到的数据。
我已为 ActiveMQ 配置 SSL ,如下所示:
<transportConnector name="ssl" uri="ssl://0.0.0.0:61616?wireformat.maxFrameSize=104857600"/>
在上面的ActiveMQ代理uri中如何配置NIO?如果我可以在经纪人uri中配置NIO那么我的uri会如何反应?
从我所读到的关于NIO的内容来看,NIO增加了线程速度的处理。我已创建 20个消费者以加快处理在ActiveMQ中收到的消息。
任何人都可以清除我的怀疑吗? 提前谢谢。
答案 0 :(得分:2)
NIO代表非阻塞I / O (JAVA) NIO的API(应用程序编程接口)旨在提供对现代操作系统的所有低级输入输出操作的访问。
答案 1 :(得分:2)
之前的答案在某种程度上是正确的。 Nio只是一个选项,允许您配置较新的API以用于在代理站点处理您的连接。
在配置高负载系统时应用它是有意义的,因为它考虑了多线程功能的更广泛使用。如果要打开NIO API,则应在使用其他协议时将uri="nio://broker_ip:port_n"
放入transportConnector属性而不是uri="tcp://broker_ip:port_n"
或nio+your_protocol
。
如果是nio,你可以使用与tcp相同的传输设置列表,另外你可以使用代理的多线程配置。
您可以在AMQ NIO transport reference中找到更多信息。
答案 2 :(得分:0)
什么是NIO协议?
没有这样的事情。 NIO是API,而不是协议。