@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); }