spring boot 持久订阅者的话题

我正在使用 spring boot 2 向主题发送 jms 消息。

当我有一个持久订阅者使用 jmsListener 指向 DefaultJmsListenerContainerFactory bean 时,配置了 clientId、subscripionDurable、pubSubDomain。

 @Bean
    public JmsListenerContainerFactory<?> myDurableAFactory(ConnectionFactory connectionFactory,DefaultJmsListenerContainerFactoryConfigurer configurer) {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        configurer.configure(factory,connectionFactory);
        factory.setClientId("id1");
        factory.setSubscriptionDurable(true);
        factory.setConcurrency("2");
        factory.setPubSubDomain(true);
        return factory;

有了一个持久订阅者,它就可以正常工作。 因此,如果我希望消息被 2 个不同的持久订阅者使用,那么我创建另一个 jmsListener,指向另一个具有不同 clientId 的 DefaultJmsListenerContainerFactory。

我注意到消息被消费了,但只有一个持久订阅者,任一订阅者。我希望消息被双方消费。 我正在使用 OracleAq。

我是否缺少设置?

通过将每个持久订阅者的@JmsListener 订阅更改为不同来修复。

chj950109 回答:spring boot 持久订阅者的话题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/600677.html

大家都在问