前言
前面有一篇博客讲到了spring boot整合jms的使用http://blog.youkuaiyun.com/liuchuanhong1/article/details/54603546
但是最近遇到一个需求,需要同时使用jms的队列和topic,于是就有了下面的测试代码:
消费者代码
@Component // 必须加此注解,该类才会被作为Message Driven POJO使用
public class Consumer {
@JmsListener(destination = "mytest.queue")
public void receiveQueue(TextMessage text) throws Exception {
System.out.println(Thread.currentThread().getName()+":Consumer收到的报文为:"+text.getText());
}
@JmsListener(destination="mytest.topic")
public void receiveTopic(TextMessage text) throws JMSException{
System.out.println(text.getText());
}
}
生产者代码
@Service("producer")
public class Producer {
@Autowired
private JmsMessagingTemplate jmsTemplate;
public void sendMessage(Destination destination, final String message){
jmsTemplate.convertAndSend(destination, message);
}
}
测试代码
@RunWith(SpringRunner.class)
@SpringBootTest
@EnableAsync //开启对Async的支持,否则异步任务不启作用
pub