8.3. 处理快速消费者
快速消费者可以像使用它们一样快速处理消息。如果您确信消息传递系统中的使用者速度快,请考虑将窗口大小设置为 -1。将窗口大小设置为此值可在客户端上实现未绑定的消息缓冲。不过,请谨慎使用此设置。如果使用者无法在接收消息时尽快处理消息,客户端上的内存可能会溢出。
为快速使用者设置窗口大小
以下示例演示了如何使用消息快速使用者 AMQ 核心协议 JMS 客户端将窗口大小设置为 -1。
流程
如果客户端使用 JNDI 来实例化其连接工厂,在连接字符串 URL 中包括
consumerWindowSize
参数。将 URL 存储在 JNDI 上下文环境中。以下示例使用jndi.properties
文件存储 URL。java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory connectionFactory.myConnectionFactory=tcp://localhost:61616?consumerWindowSize=-1
如果客户端不使用 JNDI 来实例化其连接工厂,请将值传递给
ActiveMQConnectionFactory.setConsumerWindowSize()
。ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactory(...) cf.setConsumerWindowSize(-1);