mirror of
https://gitee.com/arthas/arthas.git
synced 2024-12-02 12:17:45 +08:00
add timmer in ArthasBootstrap
This commit is contained in:
parent
a82e0a9eb4
commit
b7c3202246
@ -13,6 +13,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import java.util.Timer;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ThreadFactory;
|
import java.util.concurrent.ThreadFactory;
|
||||||
@ -77,6 +78,8 @@ public class ArthasBootstrap {
|
|||||||
|
|
||||||
private static LoggerContext loggerContext;
|
private static LoggerContext loggerContext;
|
||||||
|
|
||||||
|
private Timer timer = new Timer("arthas-timer", true);
|
||||||
|
|
||||||
private ArthasBootstrap(Instrumentation instrumentation, String args) throws Throwable {
|
private ArthasBootstrap(Instrumentation instrumentation, String args) throws Throwable {
|
||||||
this.instrumentation = instrumentation;
|
this.instrumentation = instrumentation;
|
||||||
|
|
||||||
@ -387,6 +390,10 @@ public class ArthasBootstrap {
|
|||||||
return tunnelClient;
|
return tunnelClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Timer getTimer() {
|
||||||
|
return this.timer;
|
||||||
|
}
|
||||||
|
|
||||||
private Logger logger() {
|
private Logger logger() {
|
||||||
return LoggerFactory.getLogger(this.getClass());
|
return LoggerFactory.getLogger(this.getClass());
|
||||||
}
|
}
|
||||||
|
@ -11,11 +11,11 @@ import java.util.concurrent.TimeUnit;
|
|||||||
import com.alibaba.arthas.deps.org.slf4j.Logger;
|
import com.alibaba.arthas.deps.org.slf4j.Logger;
|
||||||
import com.alibaba.arthas.deps.org.slf4j.LoggerFactory;
|
import com.alibaba.arthas.deps.org.slf4j.LoggerFactory;
|
||||||
import com.taobao.arthas.core.GlobalOptions;
|
import com.taobao.arthas.core.GlobalOptions;
|
||||||
|
import com.taobao.arthas.core.server.ArthasBootstrap;
|
||||||
import com.taobao.arthas.core.shell.cli.CliToken;
|
import com.taobao.arthas.core.shell.cli.CliToken;
|
||||||
import com.taobao.arthas.core.shell.handlers.Handler;
|
import com.taobao.arthas.core.shell.handlers.Handler;
|
||||||
import com.taobao.arthas.core.shell.impl.ShellImpl;
|
import com.taobao.arthas.core.shell.impl.ShellImpl;
|
||||||
import com.taobao.arthas.core.shell.system.Job;
|
import com.taobao.arthas.core.shell.system.Job;
|
||||||
import com.taobao.arthas.core.shell.term.impl.httptelnet.HttpTelnetTermServer;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 全局的Job Controller,不应该存在启停的概念,不需要在连接的断开时关闭,
|
* 全局的Job Controller,不应该存在启停的概念,不需要在连接的断开时关闭,
|
||||||
@ -24,10 +24,14 @@ import com.taobao.arthas.core.shell.term.impl.httptelnet.HttpTelnetTermServer;
|
|||||||
*/
|
*/
|
||||||
public class GlobalJobControllerImpl extends JobControllerImpl {
|
public class GlobalJobControllerImpl extends JobControllerImpl {
|
||||||
|
|
||||||
private Timer timer = new Timer("arthas-job-timeout", true);
|
private Timer timer;
|
||||||
private Map<Integer, TimerTask> jobTimeoutTaskMap = new HashMap<Integer, TimerTask>();
|
private Map<Integer, TimerTask> jobTimeoutTaskMap = new HashMap<Integer, TimerTask>();
|
||||||
private static final Logger logger = LoggerFactory.getLogger(GlobalJobControllerImpl.class);
|
private static final Logger logger = LoggerFactory.getLogger(GlobalJobControllerImpl.class);
|
||||||
|
|
||||||
|
public GlobalJobControllerImpl() {
|
||||||
|
timer = ArthasBootstrap.getInstance().getTimer();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void close(final Handler<Void> completionHandler) {
|
public void close(final Handler<Void> completionHandler) {
|
||||||
if (completionHandler != null) {
|
if (completionHandler != null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user