Closed grainrain closed 6 years ago
Please answer some questions before submitting your issue. Thanks!
1.9.1
@Component public class MonitorHelper { private static Logger logger = LoggerFactory.getLogger(MonitorHelper.class); private MonitorHelper(){ } private static MonitorHelper instance = new MonitorHelper(); public static MonitorHelper getInstance() { return instance; } private Thread registryThread; private volatile boolean toStop = false; public void start() { registryThread = new Thread(new Runnable() { @Override public void run() { while (!toStop) { try { logger.debug("job registry instance success"); } catch (Exception e) { logger.error("job registry instance error:{}", e); } try { TimeUnit.SECONDS.sleep(10); } catch (InterruptedException e) { logger.error("job registry instance error:{}", e); } } } }); registryThread.setDaemon(true); registryThread.start(); } public void toStop() { toStop = true; // interrupt and wait registryThread.interrupt(); try { registryThread.join(); logger.debug("job stop instance success"); } catch (InterruptedException e) { logger.error(e.getMessage(), e); } } }
registryThread = new Thread(new Runnable() {
你好,JobRegistryMonitorHelper 只会在应用启动才会初始化一次,正常情况下不会存在重复启动、销毁的场景的。
Please answer some questions before submitting your issue. Thanks!
version of XXL-JOB
1.9.1
作者你好,在阅读源码JobRegistryMonitorHelper类后, 然后写了一个测试,有些疑问 ,请帮忙核实下
registryThread = new Thread(new Runnable() {
上添加toStop = false; 似乎可以 在关闭后再次拉起 public void start() { toStop = false; registryThread = new Thread(new Runnable() {