第一:
定时每5分钟查询数据库保存到map缓存
public class SysConfigThread extends HttpServlet implements Runnable{
private Logger logger = LoggerFactory.getLogger(SysConfigThread.class);
public static Date lastTime = null;
private SysConfigManager sysConfigManager;
public SysConfigThread(SysConfigManager sysConfigManager) {
this.sysConfigManager = sysConfigManager;
}
public void run() {
System.out.println("--------------ddshopRunServices SysConfig 启动-------------");
ConcurrentHashMap< String ,String> acountMap = new ConcurrentHashMap<String, String>();
String keys="ceshiKey";
int count=1;
while (true) {
try {
if(count ==1){
count = 2;
}else{
Thread.sleep(300*1000);
}
//获取当前时间
Date date = new Date();
//获取到sys-config表的所有key值
SysConfig syscon=sysConfigManager.getSysConfigByKey2(keys);
if(syscon.getValue()!=null){
String s2 = syscon.getValue().substring(1);
String s3=s2.substring(0,s2.length() - 1);
String[] str=s3.split(",");
for(int i=0;i<str.length;i++){
//获取到了sys-Config表的(2,6)
if (Constants.warnAccountMap == null
|| Constants.warnAccountMap.size() <= 0) {
acountMap.put(str[i],str[i]);
Constants.warnAccountMap = acountMap;
} else {
acountMap = Constants.warnAccountMap;
if (acountMap.get(str[i]) == null) {
acountMap.put(str[i],str[i]);
Constants.warnAccountMap = acountMap;
}
}
}
// System.out.println("accountMap"+acountMap);
//acountMap存着我在sys-Config表里取出的(4.6)办事处测试的key
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
第二:定时任务启动类:实现ServletContextListener
public class ManagerListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) {
}
SysConfigManager sysConfigManager = (SysConfigManager) ctx.getBean(“sysConfigManager”);
SysConfigThread syncThread = new SysConfigThread(sysConfigManager);// 需要执行的线程
Thread thread = new Thread(syncThread);// 开启一个线程
thread.start();// 线程执行
/System.out.println(“监听器服务器起来”);/
}
}
第三:web.xml一定要配置监听器
contextConfigLocation
classpath:applicationContext.xml,classpath:applicationContext-wjt.xml
org.springframework.web.context.ContextLoaderListener
com.tdyhWap.listener.ManagerListener