如何在JAVA中使用单个消耗访问多个JMS队列

我需要访问多个JMS队列,并根据我们得到的事件执行所需的操作。这是在Spring Boot项目上完成的。谁能帮忙

zfau1000 回答:如何在JAVA中使用单个消耗访问多个JMS队列

您可以在Spring启动中配置不同的@JmsListener,它将从您已配置的相应队列中接收消息。

@JmsListener(destination = "${abcQueueName}",containerFactory = "abcQueueListenerFactory")
    public void receiveQuery(@Payload Test test,@Headers MessageHeaders headers,Message message,Session sessionQuery) {
}





@Bean(name = "abcQueueListenerFactory")
        public JmsListenerContainerFactory<?> testQueueListenerFactory(ConnectionFactory connectionFactory,DefaultJmsListenerContainerFactoryConfigurer configurer) {
            DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
            factory.setPubSubDomain(false);
            factory.setSessionTransacted(true);
            factory.setConcurrency(concurrency + "-" + maxConcurrency);
            factory.setReceiveTimeout(Long.valueOf(receiveTimeout));
            factory.setConnectionFactory(connectionFactory);
            factory.setMessageConverter(jsonMessageConverter);
            factory.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE);
            configurer.configure(factory,connectionFactory);
            return factory;

        }
本文链接:https://www.f2er.com/3067749.html

大家都在问