2019独角兽企业重金招聘Python工程师标准>>>
今日了解一下activeMQ的运行流程,主要就是消费者和提供者,这两者分开各操作不同的操作,例如以银行网关异步回传为例,银行回调方法只是用来操作银行返回结果,对于数据的处理可以放在activeMQ的监听器里进行处理(实现接口MessageListener 方法onMessage()),提供者方法处理
参数设置:respData存放需要推送的数据,MessageDto是工具类
MessageDto messageDto = new MessageDto();
messageDto.setRespData(respData);
messageDto.setType("0");
//topic获取
Destination topic = (Destination)SpringContextUtils.getBeanById("queueDestination");
JmsTemplate topicJmsTemplate;topicJmsTemplate.send(topic, new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
MapMessage map = session.createMapMessage();
map.setString("messageDto", JSONObject.fromObject(messageDto).toString());
return map;
}
});
处理;
参数获取在监听器的实现方法里
MapMessage map = (MapMessage) message;
String messageDtoJson = map.getString("messageDto");
异步处理数据,减少处理操作时间.进入activemq监控接口信息,一旦消费将自动进行清理,管理接口使用的情况,主要用在大并发数据交互上