SSM,下
监听类
/**
* 监听MQ消息推送
*
* @author
* @date 2019/7/11
*/
@Service
public class MQListener {
final Logger logger = LoggerFactory.getLogger(MQListener.class);
@Autowired
@Qualifier("acceptCenterCrmAsynCallbackRabbitTemplate")
RabbitTemplate acceptCenterCrmAsynCallbackRabbitTemplate;
@Autowired
@Qualifier("backendOrderCallBackRabbitTemplate")
RabbitTemplate backendOrderCallBackRabbitTemplate;
@Autowired
@Qualifier("acceptCenterLogisticBackRabbitTemplate")
RabbitTemplate acceptCenterLogisticBackRabbitTemplate;
@Autowired
@Qualifier("wisdomSendInfoRabbitTemplate")
RabbitTemplate wisdomSendInfoRabbitTemplate;
@Autowired
@Qualifier("groupStatusInfoTemplate")
RabbitTemplate groupStatusInfoTemplate;
@Autowired
@Qualifier("xieHaoZhuanWangTemplate")
RabbitTemplate xieHaoZhuanWangTemplate;
@Autowired
@Qualifier("chengFenQiAccountResultTemplate")
RabbitTemplate chengFenQiAccountResultTemplate;
@Autowired
MQEventService eventService;
ExecutorService threadPool = null;
@PostConstruct
public void onMsg() {
threadPool = Executors.newFixedThreadPool(100);
listenToUpdateOrderMain();
listenToBackendOrder();
listenToLogisticBack();
listenWisdomSendInfo();
listenGroupStatusInfo();
listenXieHaoZhuanWang();
listenChengFenQiAccountResult();
}
private void listenToUpdateOrderMain() {
new Thread() {
@Override
public void run() {
acceptCenterCrmAsynCallbackRabbitTemplate.receive(new ReceiveCallbackHandler() {
@Override
@SuppressWarnings("unchecked")
public String doCallback(final String msg, Channel channel, QueueingConsumer.Delivery delivery) throws IOException {
try {
logger.info("接收到的Msg-->CRM返回:{}", msg);
threadPool.execute(() -> eventService.updateOrderMain(msg));
} catch (Exception e) {
logger.error("", e);
}
// 逻辑正常时直接调用父类方法,会通知MQ 消息正常处理了
super.doCallback(msg, channel, delivery);
return msg;
}
});
logger.info("!!!!!!!!!!!! done stop check mq message");
}
}.start();
}
private void listenToBackendOrder() {
new Thread() {
@Override
public void run() {
backendOrderCallBackRabbitTemplate.receive(new ReceiveCallbackHandler() {
@Override
@SuppressWarnings("unchecked")
public String doCallback(final String msg, Channel channel, QueueingConsumer.Delivery delivery) throws IOException {
try {
logger.info("接收到的Msg-->流程引擎启动返回:{}", msg);
threadPool.execute(() -> eventService.updateOrderCallbackLog(msg));
} catch (Exception e) {
logger.error("", e);
}
// 逻辑正常时直接调用父类方法,会通知MQ 消息正常处理了
super.doCallback(msg, channel, delivery);
return msg;
}
});
logger.info("!!!!!!!!!!!! done stop check mq message");
}
}.start();
}
private void listenToLogisticBack() {
new Thread() {
@Override
public void