之前项目都是用SpringMVC,后来整个项目开始用Springboot,果断转用Springboot,用了之后感觉根本停不下来。
其实springboot多消息队列监听和spring基本一样,只是配置上稍有区别'
1.在有@Configuration注解的java类中加如下配置
@Bean
public DefaultMessageListenerContainer listenerContainer(){
DefaultMessageListenerContainer m =new DefaultMessageListenerContainer();
m.setConnectionFactory(connectionFactory);
Destination d = new ActiveMQQueue("*");//*表示通配所有队列名称
m.setDestination(d);
m.setMessageListener(new QueueMessageListener());
return m;
}
2.继承MessageListener类
public class QueueMessageListener implements MessageListener {
@Autowired
private DataUploadService dataservice;
@Override
public void onMessage(Message message) {
// TODO Auto-generated method stub
dataservice = SpringUtils.getApplicationContext().getBean(DataUploadService.class);
System.out.println("=================接收消息=============="+message );
//TextMessage tm = (TextMessage) message;//将消息转成text类型
//下面就开始你的业务逻辑
}
}