public static void register(String name, ThreadPoolExecutor executor) { new ThreadPoolExecutorMonitor(name, executor); }
@Override public boolean isShutdown() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return false; return executor.isShutdown(); }
public ThreadPoolExecutorMonitor(String name, ThreadPoolExecutor executor) { super("co.paralleluniverse:type=ThreadPoolExecutor,name=" + name, executor); registerMBean(); }
private void configureThreadPool(String name, ThreadPoolExecutor executor) { executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy()); executor.setThreadFactory(new ThreadFactoryBuilder().setNameFormat(name + "-%d").setDaemon(true).setThreadFactory(new ThreadFactory() { @Override public Thread newThread(Runnable r) { return new CommThread(r); } }).build()); ThreadPoolExecutorMonitor.register(name, executor); }
private void configureThreadPool(String name, ThreadPoolExecutor executor) { executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy()); executor.setThreadFactory(new ThreadFactoryBuilder().setNameFormat(name + "-%d").setThreadFactory(new ThreadFactory() { @Override public Thread newThread(Runnable r) { return new CommThread(r); } }).build()); ThreadPoolExecutorMonitor.register(name, executor); }
@Override public int getCorePoolSize() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return -1; return executor.getCorePoolSize(); }
private void configureThreadPool(String name, ThreadPoolExecutor executor) { executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy()); executor.setThreadFactory(new ThreadFactoryBuilder().setNameFormat(name + "-%d").setThreadFactory(new ThreadFactory() { @Override public Thread newThread(Runnable r) { return new CommThread(r); } }).build()); ThreadPoolExecutorMonitor.register(name, executor); } private final ChannelHandler channelHandler = new SimpleChannelHandler() {
@Override public int getPoolSize() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return -1; return executor.getPoolSize(); }
ThreadPoolExecutorMonitor.register("jgroups", jgroupsThreadPool);
@Override public int getActiveCount() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return -1; return executor.getActiveCount(); }
@Override public int getMaximumPoolSize() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return -1; return executor.getMaximumPoolSize(); }
@Override public int getQueuedTasks() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return -1; return executor.getQueue().size(); } }
@Override public long getTaskCount() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return -1; return executor.getTaskCount(); }
@Override public long getKeepAliveTime() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return -1; return executor.getKeepAliveTime(TimeUnit.MILLISECONDS); }
@Override public long getCompletedTaskCount() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return -1; return executor.getCompletedTaskCount(); }
@Override public boolean isTerminating() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return false; return executor.isTerminating(); }
@Override public boolean isTerminated() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return false; return executor.isTerminated(); }
@Override public String getRejectedExecutionHandler() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return null; return executor.getRejectedExecutionHandler().toString(); }
@Override public int getLargestPoolSize() { final ThreadPoolExecutor executor = getMonitored(); if (executor == null) return -1; return executor.getLargestPoolSize(); }