package com.taobao.tddl.repo.bdb.spi; import java.util.logging.Level; import java.util.logging.Logger; import com.sleepycat.je.dbi.EnvironmentImpl; import com.sleepycat.je.utilint.LoggerUtils; public class CleanerManage { /** * add by shenxun : god hook to stop all cleaner Invoked by Env. * 全局变量,用于外部控制cleaner的行为 */ public static volatile boolean stopCurrentCleaners = false; public static volatile boolean isWriteLog = true; public static void writeLog(Logger logger, EnvironmentImpl env, String logMsg) { if (isWriteLog) { LoggerUtils.logMsg(logger, env, Level.WARNING, logMsg); } } public static boolean isStopCurrentCleaners() { return stopCurrentCleaners; } public static void setStopCurrentCleaners(boolean stopCurrentCleaners) { CleanerManage.stopCurrentCleaners = stopCurrentCleaners; System.err.println("now cleaner is been stoped"); } public static void stopCurrentCleaners() { setStopCurrentCleaners(true); } public static void startCurrentCleaners() { setStopCurrentCleaners(false); } public static boolean isWriteLog() { return isWriteLog; } public static void stopWriteLog() { setWriteLog(false); } public static void startWriteLog() { setWriteLog(true); } public static void setWriteLog(boolean isWriteLog) { CleanerManage.isWriteLog = isWriteLog; } }