Package com.ultikits.ultitools.manager
Class DataStoreManager
java.lang.Object
com.ultikits.ultitools.manager.DataStoreManager
Data store manager.
数据存储管理器
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidclose()Unregister all data stores.static DataStoregetDatastore(String type) Get data store.private static String走 i18n,但不让它把诊断本身弄崩。这条路径只在已经出问题的时候才跑, 拿不到语言字典时用原文,比抛 NPE 强。static voidRegister data store.static voidreportBackendSelection(Logger logger, String configured, boolean mysqlEnabled, boolean mysqlAvailable, String actual) Report at SEVERE level that the data store actually in use is not the configured one.static voidunregister(DataStore dataStore) Unregister data store.
-
Field Details
-
dataMap
-
-
Constructor Details
-
DataStoreManager
public DataStoreManager()
-
-
Method Details
-
register
Register data store.
注册数据存储- Parameters:
dataStore- Data store
数据存储
-
unregister
Unregister data store.
注销数据存储- Parameters:
dataStore- Data store
数据存储
-
close
public static void close()Unregister all data stores.
注销所有数据存储 -
getDatastore
Get data store. If the data store does not exist, it will return the default Json store.
获取数据存储。如果数据存储不存在,则返回默认的Json存储。- Parameters:
type- Data store type
数据存储类型- Returns:
- Data store
数据存储
-
reportBackendSelection
public static void reportBackendSelection(Logger logger, String configured, boolean mysqlEnabled, boolean mysqlAvailable, String actual) Report at SEVERE level that the data store actually in use is not the configured one.
实际使用的数据存储与配置不一致时,把「配置要的是什么、实际用的是什么、为什么」写进日志。降级本身是静默的:
getDatastore(String)找不到目标类型就回退到 json,服务器照常 启动,运维者看到的现象是「服务器起来了但玩家数据全没了」。启动横幅里那条 INFO 级的 「数据存储方式:json」不解决问题——它只报实际值,不会提配置里写的是别的东西。见 issue #183。配置与实际一致时(含没配
datasource.type的默认情况)不产生任何日志。- Parameters:
logger- Logger to write to
写入的日志器configured- Configureddatasource.type, may be null
配置的datasource.type,可为 nullmysqlEnabled- Whethermysql.enableis true
mysql.enable是否为 truemysqlAvailable- Whether the MySQL data source was actually created
MySQL 数据源是否真的建起来了actual- Store type actually in use
实际使用的存储类型
-
localize
走 i18n,但不让它把诊断本身弄崩。这条路径只在已经出问题的时候才跑, 拿不到语言字典时用原文,比抛 NPE 强。
-