ActiveMQ Java NIO 传输连接器与 PoolConnectionFactory

ActiveMQ Java NIO transport connector vs PoolConnectionFactory

Java NIO 传输连接器与 ActiveMQ 中的 PoolConnectionFactory 的不同用例是什么。两者都为 connections.I 池提供服务,希望使用数千个客户端连接到代理并为每个客户端维护一个单独的队列。场景中这两个的用例在哪里?

NIO 传输在低级别使用选择器,它比 Pool connectionfactory 性能更高。 这意味着如果在池等待每个连接时有任何新数据准备就绪,它会收到通知。对于您的用例,我强烈建议 NIO Connector

NIO 传输连接器是服务器端传入连接API,它利用基于选择器的事件循环来分担多个活动连接的负载,而通常在普通传输连接器上,每个连接都会创建一个线程当大量连接处于活动状态时,处理 IO 会导致更高的线程数。

PooledConnectionFactory 是一种客户端设备,它提供一个或多个打开的连接池,应用程序代码可以使用这些连接池来减少连接创建/销毁事件的数量,从而在某些情况下导致更快的客户端代码,并且降低远程代理的开销,因为它不需要处理来自其模型导致此类行为的应用程序的连接创建/销毁事件。根据您对应用程序的编码方式或您拥有的 API 分层,例如 Camel 或 Spring 等,池可能有用也可能无用。

这两件事没有关联,不能等同起来。