arthas 监控线程池相关对象

具体代码,需要设置类的变量,不能设置方法的局部变量

package com.xxx.vman.service;

import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.Semaphore;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

@Slf4j
public class Test2 {

    private static Semaphore semaphore = new Semaphore(3);
    private static ThreadPoolExecutor executorService = new ThreadPoolExecutor(10,50,60, TimeUnit.SECONDS,new LinkedBlockingQueue<>(200));

    @SneakyThrows
    static void exec(){
        try {
            semaphore.acquire();
            log.info("执行exec方法" + Thread.currentThread().getName());
            Thread.sleep(310);
        } finally {
            semaphore.release();
        }
    }

    @Test
    @SneakyThrows
    public void test(){
        for (;;){
            Thread.sleep(100);
            executorService.execute(() -> exec());
        }
    }

}

arthas监控查看executorService属性命令

ognl -x 3 '@com.xxx.vman.service.Test2@executorService'

查看Test2类对象的属性命令

vmtool -x 3 --action getInstances --className com.xxx.vman.service.Test2 --express 'instances[0]'

相关推荐
cv键盘侠1 小时前
HTML转义和反转义工具类
java·spring boot·spring cloud·mvc
C#Thread1 小时前
C#上位机--一元运算符
开发语言·c#
达梦产品与服务2 小时前
SQLark 数据迁移|断点续迁已上线(Oracle-达梦)
数据库·oracle·数据迁移·断点续迁
阿强773 小时前
包装类缓存对象
java·缓存·包装类
爱跨境的笑笑3 小时前
Skype for Business网络延迟怎么办?
大数据·开发语言·网络·tcp/ip·php
北极熊kw4 小时前
CentOS 9/10 Stream / RockyLinux 8 上安装 Oracle database 19c
数据库·oracle·centos
LUCIAZZZ4 小时前
TCP基本入门-简单认识一下什么是TCP
java·网络·后端·网络协议·tcp/ip·计算机网络·spring
我爱喝伊利4 小时前
C#中使用System.Net库实现自动发送邮件功能
开发语言·c#
卜及中4 小时前
【Docker基础】理解 Registry 镜像仓库:分类、工作机制、命令与实操
java·docker·容器·eureka
_未知_开摆4 小时前
2020年蓝桥杯Java B组第二场题目+部分个人解析
java·经验分享·后端·程序人生·蓝桥杯