You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/site/docs/doc/spring-boot-starter.md

102 lines
2.6 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Arthas Spring Boot Starter
::: tip
只支持 spring boot 2
:::
最新版本:[查看](https://search.maven.org/search?q=arthas-spring-boot-starter)
配置 maven 依赖:
```xml
<dependency>
<groupId>com.taobao.arthas</groupId>
<artifactId>arthas-spring-boot-starter</artifactId>
<version>${arthas.version}</version>
</dependency>
```
应用启动后spring 会启动 arthas并且 attach 自身进程。
::: tip
一键创建包含 Arthas Spring Boot Starter 的工程:<a href="https://start.aliyun.com/bootstrap.html/#!dependencies=arthas" target="_blank">点击</a>
:::
## 配置属性
比如,通过配置 tunnel server 实现远程管理:
```
arthas.agent-id=hsehdfsfghhwertyfad
arthas.tunnel-server=ws://47.75.156.201:7777/ws
```
全部支持的配置项:[参考](https://github.com/alibaba/arthas/blob/master/arthas-spring-boot-starter/src/main/java/com/alibaba/arthas/spring/ArthasProperties.java)
::: tip
默认情况下arthas-spring-boot-starter 会禁掉`stop`命令。
:::
参考:[Arthas Properties](arthas-properties.md)
## 查看 Endpoint 信息
::: tip
需要配置 spring boot 暴露 endpoint[参考](https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-endpoints)
:::
假定 endpoint 端口是 8080则通过下面 url 可以查看:
http://localhost:8080/actuator/arthas
```
{
"arthasConfigMap": {
"agent-id": "hsehdfsfghhwertyfad",
"tunnel-server": "ws://47.75.156.201:7777/ws",
}
}
```
## 非 spring boot 应用使用方式
非 Spring Boot 应用,可以通过下面的方式来使用:
```xml
<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>
```
```java
import com.taobao.arthas.agent.attach.ArthasAgent;
public class ArthasAttachExample {
public static void main(String[] args) {
ArthasAgent.attach();
}
}
```
也可以配置属性:
```java
HashMap<String, String> configMap = new HashMap<String, String>();
configMap.put("arthas.appName", "demo");
configMap.put("arthas.tunnelServer", "ws://127.0.0.1:7777/ws");
ArthasAgent.attach(configMap);
```
::: warning
注意配置必须是`驼峰`的,和 spring boot 的`-`风格不一样。spring boot 应用才同时支持`驼峰` 和 `-`风格的配置。
:::