问题描述
最近发现一个很奇怪的问题,目前还是不知道原因。项目使用springboot,使用了一个runner类,实现了CommandLineRunner 接口。用他来初始化程序的一些基本常用的数据,其中我使用了一个map来封装了了一个《key,List》的邮箱集合。一开始使用了几天没有任何问题。然后突然有一天,发现这个map里面的数据没了,map已经使用static修饰了。不知道任何原因。看了系统日志,也没有抛出什么错误。搜索了整个项目。这个map只有一个init初始化数据的方法。还有一个根据key查询value的调用。其他整个系统工程都没有调用过这个map。很是无解????
临时的解决方案
因为项目已经上线没什么时间在去慢慢想原因,只能用了一个临时的方法,就是写一个定时器,每天执行一个这个init方法,初始化这个map数据。当然的记得,init方法中第一句,记得先将这个map.clear();不然会造成了数据混乱的。