Commit fcff3a3ae1174bd9f66d8cf0e432ce3c6a75035d

Authored by 潘钊
1 parent 46ef4f6e

update...

src/main/java/com/bsth/redis/OilRedisService.java
1 package com.bsth.redis; 1 package com.bsth.redis;
2 2
  3 +import com.bsth.Application;
3 import com.bsth.entity.OilInfo; 4 import com.bsth.entity.OilInfo;
4 import com.bsth.redis.util.RedisUtils; 5 import com.bsth.redis.util.RedisUtils;
5 import com.bsth.repository.OilInfoRepository; 6 import com.bsth.repository.OilInfoRepository;
@@ -15,9 +16,11 @@ import org.springframework.core.annotation.Order; @@ -15,9 +16,11 @@ import org.springframework.core.annotation.Order;
15 import org.springframework.data.redis.core.ListOperations; 16 import org.springframework.data.redis.core.ListOperations;
16 import org.springframework.data.redis.core.RedisTemplate; 17 import org.springframework.data.redis.core.RedisTemplate;
17 import org.springframework.data.redis.serializer.StringRedisSerializer; 18 import org.springframework.data.redis.serializer.StringRedisSerializer;
  19 +import org.springframework.stereotype.Component;
18 import org.springframework.stereotype.Service; 20 import org.springframework.stereotype.Service;
19 21
20 import java.util.*; 22 import java.util.*;
  23 +import java.util.concurrent.TimeUnit;
21 24
22 /** 25 /**
23 * 油量数据Redis缓存 26 * 油量数据Redis缓存
@@ -36,7 +39,7 @@ public class OilRedisService implements CommandLineRunner { @@ -36,7 +39,7 @@ public class OilRedisService implements CommandLineRunner {
36 @Autowired 39 @Autowired
37 RedisUtils redisUtils; 40 RedisUtils redisUtils;
38 41
39 - Logger logger = LoggerFactory.getLogger(this.getClass()); 42 + static Logger logger = LoggerFactory.getLogger(OilRedisService.class);
40 43
41 private final static String REDIS_KEY_PREFIX = "oil:"; 44 private final static String REDIS_KEY_PREFIX = "oil:";
42 45
@@ -116,8 +119,19 @@ public class OilRedisService implements CommandLineRunner { @@ -116,8 +119,19 @@ public class OilRedisService implements CommandLineRunner {
116 redisTemplate.execute(redisUtils.getUpdateCallback(key, list)); 119 redisTemplate.execute(redisUtils.getUpdateCallback(key, list));
117 } 120 }
118 121
  122 + @Autowired
  123 + OilRefreshThread oilRefreshThread;
  124 +
119 @Override 125 @Override
120 public void run(String... strings) throws Exception { 126 public void run(String... strings) throws Exception {
  127 + //定时刷新油耗信息
  128 + Application.mainServices.scheduleWithFixedDelay(oilRefreshThread, 20, 60 * 30, TimeUnit.SECONDS);
  129 + }
  130 +
  131 + /**
  132 + * 和数据库同步数据
  133 + */
  134 + public void synchData(){
121 int cacheDays = Integer.parseInt(ConfigUtil.get("cache.days")); 135 int cacheDays = Integer.parseInt(ConfigUtil.get("cache.days"));
122 //设置key 序列化器 136 //设置key 序列化器
123 redisTemplate.setKeySerializer(new StringRedisSerializer()); 137 redisTemplate.setKeySerializer(new StringRedisSerializer());
@@ -128,4 +142,19 @@ public class OilRedisService implements CommandLineRunner { @@ -128,4 +142,19 @@ public class OilRedisService implements CommandLineRunner {
128 //写入redis 142 //写入redis
129 wirte(list); 143 wirte(list);
130 } 144 }
  145 +
  146 + @Component
  147 + public static class OilRefreshThread extends Thread {
  148 +
  149 + @Autowired
  150 + OilRedisService oilRedisService;
  151 + @Override
  152 + public void run() {
  153 + try {
  154 + oilRedisService.synchData();
  155 + } catch (Exception e) {
  156 + logger.error("", e);
  157 + }
  158 + }
  159 + }
131 } 160 }