package org.quickbundle.project.init; import java.io.File; public final class RmConfig { /** * 配置类的全局唯一单例 */ private static RmConfigVo singleton = new RmConfigVo(); /** * 得到配置类的全局唯一单例 * @return the singleton */ public static RmConfigVo getSingleton() { return singleton; } //定制static方法,处理单例的配置 /** * @return 是集群模式?或单机? */ public static boolean isClusterMode() { return singleton.isClusterMode(); } /** * @return 云节点信息是自动采集?还是从rm.xml中读取 */ public static boolean isCloudNodeInfoAuto() { return singleton.isCloudNodeInfoAuto(); } /** * 获得默认数据源的数据库类型 * IGlobalConstants.DATABASE_PRODUCT_NAME_... * @return */ public static String getDatabaseProductName() { return singleton.getDatabaseProductName(); } /** * 是否水平拆分数据库 * @return */ public static boolean isMultiDb() { return singleton.isMultiDb(); } /** * 系统是否开发调试状态(系统综合运行性能较低,优化了应用启动速度。同时sql的?替换输出,日志记录了sql真实数据) */ public static boolean systemDebugMode() { return singleton.isSystemDebugMode(); } /** * 本集群节点RmIdFactory产生的主键前缀 */ public static String getClusterIdPrefix() { return singleton.getClusterIdPrefix(); } /** * 是否RmIdFactory每次从数据库中读取,生成id (用于多人clusterIdPrefix相同,而且要同时开发) */ public static boolean isGenerateIdFromDb() { return singleton.isGenerateIdFromDb(); } /** * 系统用户是否唯一登录,同时登录会强制踢出第一个用户 */ public static boolean userUniqueLogin() { return singleton.isUserUniqueLogin(); } /** * 默认的分页条数,会被rm.xml/rm/RmJspHelper/pageSize覆盖 */ public static int defaultPageSize() { return singleton.getDefaultPageSize(); } /** * 是否启动任务调度 */ public static boolean isSchedulerStart() { return singleton.isSchedulerStart(); } /** * 得到系统简短描述 * @return */ public static String getAppDescription() { return singleton.getAppDescription(); } /** * 是否记录request的执行时间和SQL数量 * @return the logRequest */ public static boolean isLogRequest() { return singleton.isLogRequest(); } //未加入rm.xml文件的配置 /** * 系统缓存检查周期 * @return */ public static long cacheCheckInterval() { return 1000 * 2; } /** * 是否全局监控 * @return */ public static boolean globalMonitor() { return true; } /** * 系统缓存刷新周期 * @return */ public static long cacheFlushInterval() { return 1000 * 60 * 5; } /** * 翻页是否用rs.absolute(index)的方案 */ public static boolean isAbsolutePage() { return false; } /** * 批处理sql的最大记录日志数量 */ public static int maxLogSqlBatchSize() { return 100; } /** * 系统用户登录是否DEMO状态(不校验用户数据库) */ public static boolean userDemoMode() { return false; } /** * 是否给insert和update的sql语句自动加ts */ public static boolean sqlUpdateAutoAppendTs() { return false; } /** * 默认的临时文件夹 */ public static File defaultTempDir() { return new File(System.getProperty("java.io.tmpdir") + File.separator + "rm"); } /** * 默认编码 */ public static String defaultEncode() { return "UTF-8"; } /** * 默认实数数值的精度 */ public static int defaultNumberScale() { return 2; } /** * 登录时是否有校验码 */ public static boolean loginValidateVerifyCode() { return true; } /** * 登录是持否支持cookie */ public static boolean loginCookie() { return true; } /** * cookie默认值365天 */ public static int defaultCookieAge() { return 365 * 24 * 60 * 60; } /** * ajax提交是否已json格式,还是post表单提交? */ public static boolean isSubmitJson() { return false; } /** * 默认的树形编码起始值,适用于简单的纯数字树,每个节点下最多有900个子节点 */ public static String defaultTreeCodeFirst() { return "100"; } /** * 指定最大循环次数,防止死循环 */ public static int maxCircleCount() { return 10000; } /** * 定义单实例全局缓存的最大容量,防止溢出攻击,如公开的url列表 * @return */ public static int maxCacheSize() { return 10000; } }