@Configuration @EnableJms public class JmsConfiguration { // topic模式的ListenerContainer @Bean public JmsListenerContainerFactory<?> jmsListenerContainerTopic(ConnectionFactory activeMQConnectionFactory) { DefaultJmsListenerContainerFactory bean = new DefaultJmsListenerContainerFactory(); bean.setPubSubDomain(true); bean.setConnectionFactory(activeMQConnectionFactory); return bean; } // queue模式的ListenerContainer @Bean public JmsListenerContainerFactory<?> jmsListenerContainerQueue(ConnectionFactory activeMQConnectionFactory) { DefaultJmsListenerContainerFactory bean = new DefaultJmsListenerContainerFactory(); bean.setConnectionFactory(activeMQConnectionFactory); return bean; } }
消费者java
@JmsListener(destination = "sample.topic",containerFactory = "jmsListenerContainerTopic") // 监听指定消息主题 public void receiveTopic(String text) { System.out.println("Consumer1 receiveTopic "+text); } @JmsListener(destination = "sample.queue",containerFactory = "jmsListenerContainerQueue") // 监听指定消息主题 public void receiveQueue(String text) { System.out.println("consumer1 receiveQueue " +text); }