博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
activemq与spring整合,自动消费队列的配置与代码
阅读量:6425 次
发布时间:2019-06-23

本文共 3464 字,大约阅读时间需要 11 分钟。

hot3.png

    
    
         
             
                 
                                
    
         
          
    
         
          
    
         
         
         
             
               
      
      
     
    
      
          
          
          
            
package com.netease.mobileMq.task;import java.util.Date;import java.util.List;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageListener;import javax.jms.TextMessage;import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jms.core.JmsTemplate;import com.alibaba.fastjson.JSON;import com.netease.commonBean.FlushDeviceCacheBean;import com.netease.device.constant.EquipmentConstants;import com.netease.device.dao.EquipmentMapper;import com.netease.device.dao.FingerUserMapper;import com.netease.device.entity.EquipmentInfo;import com.netease.device.entity.FingerUserInfo;import com.netease.mobile.common.RedisUtil;/** * @author 作者 E-mail:ruanjianlxm@sina.com * @version 创建时间:2015年8月4日 下午4:44:39 * 类说明 */public class deviceCacheFlushTask implements  MessageListener{	private static Logger logger = LoggerFactory.getLogger("equipmentErrorLog");	@Autowired	FingerUserMapper fingerUserMapper;	@Autowired	EquipmentMapper equipmentMapper;	@Autowired	JmsTemplate jmsTemplate;	public void onMessage(Message  message){		 TextMessage textMsg = (TextMessage) message;  		 		 String receiveMsg =null;		try {			receiveMsg = textMsg.getText();		} catch (JMSException e1) {			// TODO Auto-generated catch block			e1.printStackTrace();			return ;		}		System.out.println("receiveMsg:"+receiveMsg);		if (StringUtils.isBlank(receiveMsg)) {			logger.error("deviceCacheFlushTask   receiveMsg is null  Time is " + new Date());			return ;		}		else {			logger.info("deviceCacheFlushTask   receiveMsg " + receiveMsg);//日志中记录每个刷新的数据					}				FlushDeviceCacheBean flushBean = JSON.parseObject(receiveMsg, FlushDeviceCacheBean.class);//将传过来的刷新对象进行格式化。		String mainssn = flushBean.getMainssn();		String[] refIds = flushBean.getUserIds();				/*---------------先更新用户缓存----------*/		if (mainssn != null) {//有主账号就更新主账号信息		List
 fingerUserInfos = null; try { fingerUserInfos = fingerUserMapper.getAllEqUserInfoByName(mainssn); } catch (Exception e) { // TODO: handle exception logger.error("EquipmentServiceImpl flushCache error", e); return ; } if (fingerUserInfos == null || fingerUserInfos.size() == 0) {// 如果有一个都没有 RedisUtil.delete(EquipmentConstants.EQUIPMENT_FINGER_USER_PRE + mainssn); } else { RedisUtil.set(EquipmentConstants.EQUIPMENT_FINGER_USER_PRE + mainssn, JSON.toJSONString(fingerUserInfos));// 新数据直接替换到缓存中 } } /*---------------再更新设备缓存----------*/ List
 equipmentInfos = null; if (refIds!=null&&refIds.length!=0) {//有ID就刷新ID信息 for (String refId : refIds) { try { equipmentInfos = equipmentMapper.getAllEquipmentInfoById(refId); } catch (Exception e) { // TODO: handle exception logger.error("EquipmentServiceImpl flushCache error", e); return ; } if (equipmentInfos == null || equipmentInfos.size() == 0) {// 如果有一个没有,说明查询数据出错失败了 RedisUtil.delete(EquipmentConstants.EQUIPMENT_EQUINFO_PRE + refId); } else { RedisUtil.set(EquipmentConstants.EQUIPMENT_EQUINFO_PRE + refId, JSON.toJSONString(equipmentInfos));// 新数据直接替换到缓存中 } } } }}

转载于:https://my.oschina.net/91jason/blog/487863

你可能感兴趣的文章
《Visual Studio程序员箴言》----2.5 代码段
查看>>
《UML面向对象设计基础》—第2章2.4节面向对象的益处
查看>>
人工智能的基础--知识分类
查看>>
《Adobe Flash CS4中文版经典教程》——1.2 了解工作区
查看>>
《Unity着色器和屏幕特效开发秘笈(原书第2版)》一2.7 创建透明材质
查看>>
《像计算机科学家一样思考C++》——第1章 编程方式
查看>>
JAVA性能优化调查结果(第二部分)
查看>>
为你的 项目安装Sql跟踪工具-P6Spy
查看>>
Quagga上使用验证加固BGP会话安全
查看>>
演讲实录丨李德毅:无人驾驶的图灵测试
查看>>
自己动手写malloc
查看>>
双11数据大屏技术演进
查看>>
高可用笔记(2)redis
查看>>
Android 仿ios屏幕右边的圆圈
查看>>
《C语言及程序设计》资料——C语言中的运算符
查看>>
负载均衡双向证书配置方法
查看>>
Java NIO原理图文分析及代码实现
查看>>
C语言及程序设计初步例程-13 数值型数据的存储原理
查看>>
docker 文件位置[备忘]
查看>>
MongoDB WiredTiger 存储引擎cache_pool设计 (下) -- 实践篇
查看>>