所以我正在为一个主题创建并发消费者,即多个听众。我将它们配置为耐用。
@Bean
public DefaultMessageListenerContainer listenerContainers() {
DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
container.setConnectionFactory(connectionFactory());
container.setDestinationName(COMMENT_QUEUE);
container.setPubSubDomain(true);
container.setSessionTransacted(true);
container.setConcurrentConsumers(2);
container.setSubscriptionDurable(true);
container.setMessageListener(datafileSubscriber);
container.start();
return container;
}
我在想持久消费者的用例场景是
我有一个发布消息的过程,并且消息被听众拾取。我在想如果有人停止了这个过程,我又重新启动它,我不会丢失消息和它们的处理,因为 f 持久消费者。
那正确吗?
我不会丢失消息,因为消息在 KahaDB 中,并且在进程重新启动后,它会将尚未完全处理的消息重新发送给侦听器,因为它们是持久的。这是正确的解释吗?