在Spring中使用

Spring Boot的使用方式

目前只支持SpringBoot2,配置如下maven依赖,应用启动后,spring启动Arthas会attach自身进程。

<dependency>
    <groupId>com.taobao.arthas</groupId>
    <artifactId>arthas-spring-boot-starter</artifactId>
    <version>${arthas.version}</version>
</dependency>

支持配置Arthas的全部配置,参考ArthasProperties.java

提示

  • 默认情况下,arthas-spring-boot-starter会禁用掉stop命令
  • 在搭配tunnel使用时,建议禁用telnet、http端口,仅通过ws通信

非Spring Boot应用的使用方式

配置maven依赖如下

<dependency>
    <groupId>com.taobao.arthas</groupId>
    <artifactId>arthas-agent-attach</artifactId>
    <version>${arthas.version}</version>
</dependency>
<dependency>
    <groupId>com.taobao.arthas</groupId>
    <artifactId>arthas-packaging</artifactId>
    <version>${arthas.version}</version>
</dependency>

示例应用代码

import com.taobao.arthas.agent.attach.ArthasAgent;
import java.util.HashMap;

public class ArthasAttachExample {
    public static void main(String[] args) {
        HashMap<String, String> configMap = new HashMap<>();
        // 配置项与arthas.properties相同
        configMap.put("arthas.appName", "demo");
        configMap.put("arthas.tunnelServer", "ws://127.0.0.1:7777/ws");
        // 添加其他配置
        ArthasAgent.attach(configMap); 
    }
}