我已经创建了带有 2 个节点的 Artemis 集群并成功连接到我的 Spring-boot 应用程序(github链接),实现基于clustered-static-discovery
现在我正在用它测试持久订阅有一些奇怪的行为我产生了 5 条消息并且只消耗了 3 条
@Bean
public MessageListenerContainer listenerContainer1(@Qualifier("connectionFactory") ConnectionFactory connectionFactory, Consumer consumer, SimpleMessageConverter messageConverter, @Qualifier("topic") Topic topic) {
DefaultMessageListenerContainer defaultMessageListenerContainer =
new DefaultMessageListenerContainer();
@Bean("connectionFactory")
public ConnectionFactory activeMQJMSConnectionFactory(@Qualifier("amqTransportConfiguration") TransportConfiguration transportConfiguration) throws JMSException {
ActiveMQJMSConnectionFactory activeMQJMSConnectionFactory =
new ActiveMQJMSConnectionFactory( false, transportConfiguration);
activeMQJMSConnectionFactory.setPassword("admin");
activeMQJMSConnectionFactory.setUser("admin");
activeMQJMSConnectionFactory.setClientID("admin");
return activeMQJMSConnectionFactory;
}
defaultMessageListenerContainer.setConnectionFactory(connectionFactory);
defaultMessageListenerContainer.setDestination(topic);
defaultMessageListenerContainer.setMessageListener(consumer);
defaultMessageListenerContainer.setSessionAcknowledgeMode(1);
defaultMessageListenerContainer.setSubscriptionName("mySub");
defaultMessageListenerContainer.setSubscriptionDurable(true);
defaultMessageListenerContainer.setMessageConverter(messageConverter);
return defaultMessageListenerContainer;
}
这是整个配置
我已经通过http://localhost:816i/hawtio/ wrb UI for artemis 发现生产者只收到 5 个消息中的 5 个
(消息负载平衡-> 严格)
我在这里做错了什么?