对象创建完成后进行数据同步
Posted itniwota
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象创建完成后进行数据同步相关的知识,希望对你有一定的参考价值。
*/
@Component
public class NumberPlaceDBToRedis implements ApplicationListener<ApplicationEvent> {
private static final Logger logger = Logger.getLogger(NumberPlaceDBToRedis.class);
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private NumberPlaceRepository numberPlaceRepository;
private static boolean flag = true;
@Override
public void onApplicationEvent(ApplicationEvent event) {
if (flag) {
flag=false;//防止二次调用
logger.info("号码归属地数据库缓存数据同步");
try {
List<NumberPlace> numberPlaces = numberPlaceRepository.findAll();
StringBuilder stringBuilder = new StringBuilder(NumberPlaceConstant.NUMBER_PLACE);
numberPlaces.forEach(numberPlace -> {
if (numberPlace.getStatus() == 0) {
redisTemplate.opsForValue().set(stringBuilder.append(numberPlace.getProvinceId()), numberPlace.getProvinceId());
}
});
} catch (Exception e) {
logger.error("号码归属地数据库缓存数据同步失败");
throw new RuntimeException("号码归属地数据库缓存数据同步失败");
}
}
}
}
以上是关于对象创建完成后进行数据同步的主要内容,如果未能解决你的问题,请参考以下文章