在一种情况下,我将为DirectMessageListenerContainer
bean中的队列创建预定义的使用者,如下所示:
@Bean
public DirectMessageListenerContainer directMessageListenerContainer(ConnectionFactory conn, DynamicTenantListenerCreator listener){
DirectMessageListenerContainer factory = new DirectMessageListenerContainer();
factory.setAcknowledgeMode(AcknowledgeMode.MANUAL);
factory.setConnectionFactory(conn);
factory.setConsumersPerQueue(5);
factory.setMessageListener(listener);
return factory;
}
据我了解,这会将5个使用者分配给在单独渠道上工作的每个队列。例如,如果我向此bean添加5个队列,那么在5个不同的通道上使用的总次数将是25。我的问题是:
空闲的使用者对Cloud Foundry中的CPU会有什么影响。如果某些队列中的消息较少,是否会有空闲的使用者来影响应用程序的性能?
有没有办法分别定义每个队列的特定数量的使用者?
预先感谢
答案 0 :(得分:0)
空闲的使用者将使用最少的资源(只有少量内存,没有CPU)。不,除非您为每个队列都有一个单独的容器,否则您不能为每个队列指定消费者计数。