系统邮件一分钟从数据库中取一次

back_recharge
gaojie 2019-07-02 15:35:58 +08:00
parent 02124be971
commit 5724c775ec
2 changed files with 10 additions and 4 deletions

View File

@ -16,8 +16,8 @@ import java.util.concurrent.ConcurrentHashMap;
public class MailingSystemManager {
private static Map<Integer, MailingSystem> mailingSystemMap = new ConcurrentHashMap<>();
private static long preLoadTime = 0;
private static long resetTime = 60*1000;
public static void init(ConfigurableApplicationContext configurableApplicationContext) throws Exception {
//TODO 测试用
//初始化系统邮件信息
@ -43,7 +43,13 @@ public class MailingSystemManager {
return mailingSystemMap.containsKey(id);
}
public static MailingSystem getMailingSystem() {
public static MailingSystem getMailingSystem() throws Exception {
long now = System.currentTimeMillis();
if (now - preLoadTime > resetTime){
MailingSystem mailingSystem = MongoUtil.getInstence().getMyMongoTemplate().findById(MailingSystem.getCollectionName(), GameApplication.serverId, MailingSystem.class);
mailingSystemMap.put(GameApplication.serverId,mailingSystem);
preLoadTime = now;
}
return mailingSystemMap.get(GameApplication.serverId);
}
}

View File

@ -117,7 +117,7 @@ public class MailLogic {
*
*
*/
private List<SystemMail> getSystemMail() {
private List<SystemMail> getSystemMail() throws Exception {
MailingSystem mailingSystem = MailingSystemManager.getMailingSystem();
SystemMailManager systemMailManager = mailingSystem.getSystemMailManager();
Map<Integer, SystemMail> systemMailMap = systemMailManager.getSystemMailMap();