mirror of
https://github.com/LamGC/ContentGrabbingJi.git
synced 2025-07-04 14:27:27 +00:00
[Change] Issue #12 调整框架启动机器人应用的方式, 增加一个用于机器人应用内部共享数据的类;
[Fix] BotEventHandler, ImageCacheStore 增加ShutdownHook用于关闭线程池, 解决线程池阻塞关闭过程的问题; [Change] BotEventHandler 调整'match(String)'方法; [Change] BotAdminCommandProcess 调整'savePushList()'方法对文件创建失败的行为;
This commit is contained in:
56
src/main/java/net/lamgc/cgj/bot/boot/BotGlobal.java
Normal file
56
src/main/java/net/lamgc/cgj/bot/boot/BotGlobal.java
Normal file
@ -0,0 +1,56 @@
|
||||
package net.lamgc.cgj.bot.boot;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import redis.clients.jedis.JedisPool;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.URI;
|
||||
|
||||
public final class BotGlobal {
|
||||
|
||||
private final static BotGlobal instance = new BotGlobal();
|
||||
|
||||
public static BotGlobal getGlobal() {
|
||||
if(instance == null) {
|
||||
throw new IllegalStateException("");
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
private final static Logger log = LoggerFactory.getLogger(BotGlobal.class);
|
||||
|
||||
private final URI redisUri;
|
||||
|
||||
/**
|
||||
* 所有缓存共用的JedisPool
|
||||
*/
|
||||
private final JedisPool redisServer;
|
||||
|
||||
private final File dataStoreDir;
|
||||
|
||||
private BotGlobal() {
|
||||
this.redisUri = URI.create("redis://" + System.getProperty("cgj.redisAddress"));
|
||||
this.redisServer = new JedisPool(
|
||||
getRedisUri().getHost(),
|
||||
getRedisUri().getPort() == -1 ? 6379 : getRedisUri().getPort());
|
||||
String dataStoreDirPath = System.getProperty("cgj.botDataDir");
|
||||
this.dataStoreDir = new File((!dataStoreDirPath.endsWith("/") || !dataStoreDirPath.endsWith("\\")) ?
|
||||
dataStoreDirPath + System.getProperty("file.separator") : dataStoreDirPath);
|
||||
}
|
||||
|
||||
public URI getRedisUri() {
|
||||
return redisUri;
|
||||
}
|
||||
|
||||
public File getDataStoreDir() {
|
||||
if(!dataStoreDir.exists() && !dataStoreDir.mkdirs()) {
|
||||
log.error("DataStoreDir 创建失败, 数据存储可能失效!");
|
||||
}
|
||||
return dataStoreDir;
|
||||
}
|
||||
|
||||
public JedisPool getRedisServer() {
|
||||
return redisServer;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user