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/spring-boot-starter.html

355 lines
14 KiB
HTML

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.

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="zh-CN" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="zh-CN" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Arthas Spring Boot Starter &mdash; Arthas 3.5.6 文档</title>
<link rel="shortcut icon" href="_static/favicon.ico"/>
<script type="text/javascript" src="_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/translations.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/overrides.css" type="text/css" />
<link rel="index" title="索引" href="genindex.html" />
<link rel="search" title="搜索" href="search.html" />
<link rel="next" title="IDEA Plugin" href="idea-plugin.html" />
<link rel="prev" title="Docker" href="docker.html" />
<script>
if (window.location.href.startsWith("https://alibaba.github.io/arthas/")) {
window.location.href = "https://arthas.aliyun.com/doc/" + window.location.href.substr("https://alibaba.github.io/arthas/".length);
}
</script>
<script src="_static/center_page.js"></script>
<link rel="stylesheet" href="https://g.alicdn.com/code/lib/highlight.js/9.13.1/styles/github.min.css">
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> Arthas
</a>
<div class="version">
3.5.6
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://arthas.aliyun.com/">首页</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arthas.aliyun.com/doc/en/">English Docs</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn">在线教程(katacoda)</a></li>
<li class="toctree-l1"><a class="reference external" href="https://start.aliyun.com/handson-lab?category=arthas">在线教程(阿里云)</a></li>
<li class="toctree-l1"><a class="reference internal" href="install-detail.html">安装</a></li>
<li class="toctree-l1"><a class="reference internal" href="download.html">下载</a></li>
<li class="toctree-l1"><a class="reference internal" href="quick-start.html">快速入门</a></li>
<li class="toctree-l1"><a class="reference internal" href="advanced-use.html">进阶使用</a></li>
<li class="toctree-l1"><a class="reference internal" href="commands.html">命令列表</a></li>
<li class="toctree-l1"><a class="reference internal" href="web-console.html">WebConsole</a></li>
<li class="toctree-l1"><a class="reference internal" href="tunnel.html">Arthas Tunnel</a></li>
<li class="toctree-l1"><a class="reference internal" href="http-api.html">Http API</a></li>
<li class="toctree-l1"><a class="reference internal" href="docker.html">Docker</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Arthas Spring Boot Starter</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">配置属性</a></li>
<li class="toctree-l2"><a class="reference internal" href="#endpoint">查看Endpoint信息</a></li>
<li class="toctree-l2"><a class="reference internal" href="#spring-boot">非spring boot应用使用方式</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="idea-plugin.html">IDEA 插件</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/issues?q=label%3Auser-case">用户案例</a></li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ/常见问题</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas">Star me at GitHub</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md#">编译调试/参与贡献</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/releases">Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="contact-us.html">QQ群/钉钉群</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Arthas</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li>Arthas Spring Boot Starter</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/alibaba/arthas/blob/master/site/src/site/sphinx/spring-boot-starter.md" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="arthas-spring-boot-starter">
<h1>Arthas Spring Boot Starter<a class="headerlink" href="#arthas-spring-boot-starter" title="永久链接至标题"></a></h1>
<blockquote>
<div><p>只支持 spring boot 2</p>
</div></blockquote>
<p>最新版本:<a class="reference external" href="https://search.maven.org/search?q=arthas-spring-boot-starter">查看</a></p>
<p>配置maven依赖</p>
<div class="highlight-xml notranslate"><div class="highlight hljs"><pre class="xml"> &lt;dependency&gt;
&lt;groupId&gt;com.taobao.arthas&lt;/groupId&gt;
&lt;artifactId&gt;arthas-spring-boot-starter&lt;/artifactId&gt;
&lt;version&gt;${arthas.version}&lt;/version&gt;
&lt;/dependency&gt;</pre></div>
</div>
<p>应用启动后spring会启动arthas并且attach自身进程。</p>
<blockquote>
<div><p>一键创建包含 Arthas Spring Boot Starter 的工程:<a href="https://start.aliyun.com/bootstrap.html/#!dependencies=arthas" target="_blank">点击</a></p>
</div></blockquote>
<div class="section" id="id1">
<h2>配置属性<a class="headerlink" href="#id1" title="永久链接至标题"></a></h2>
<p>比如通过配置tunnel server实现远程管理</p>
<div class="highlight-default notranslate"><pre class="literal-block">arthas.agent-id=hsehdfsfghhwertyfad
arthas.tunnel-server=ws://47.75.156.201:7777/ws</pre>
</div>
<p>全部支持的配置项:<a class="reference external" href="https://github.com/alibaba/arthas/blob/master/arthas-spring-boot-starter/src/main/java/com/alibaba/arthas/spring/ArthasProperties.java">参考</a></p>
<blockquote>
<div><p>默认情况下arthas-spring-boot-starter会禁掉<code class="docutils literal notranslate"><span class="pre">stop</span></code>命令。</p>
</div></blockquote>
<p>参考:<a class="reference internal" href="arthas-properties.html"><span class="doc">Arthas Properties</span></a></p>
</div>
<div class="section" id="endpoint">
<h2>查看Endpoint信息<a class="headerlink" href="#endpoint" title="永久链接至标题"></a></h2>
<blockquote>
<div><p>需要配置spring boot暴露endpoint<a class="reference external" href="https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-endpoints">参考</a></p>
</div></blockquote>
<p>假定endpoint端口是 8080则通过下面url可以查看</p>
<p>http://localhost:8080/actuator/arthas</p>
<div class="highlight-default notranslate"><pre class="literal-block">{
&quot;arthasConfigMap&quot;: {
&quot;agent-id&quot;: &quot;hsehdfsfghhwertyfad&quot;,
&quot;tunnel-server&quot;: &quot;ws://47.75.156.201:7777/ws&quot;,
}
}</pre>
</div>
</div>
<div class="section" id="spring-boot">
<h2>非spring boot应用使用方式<a class="headerlink" href="#spring-boot" title="永久链接至标题"></a></h2>
<p>非Spring Boot应用可以通过下面的方式来使用</p>
<div class="highlight-xml notranslate"><div class="highlight hljs"><pre class="xml"> &lt;dependency&gt;
&lt;groupId&gt;com.taobao.arthas&lt;/groupId&gt;
&lt;artifactId&gt;arthas-agent-attach&lt;/artifactId&gt;
&lt;version&gt;${arthas.version}&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;com.taobao.arthas&lt;/groupId&gt;
&lt;artifactId&gt;arthas-packaging&lt;/artifactId&gt;
&lt;version&gt;${arthas.version}&lt;/version&gt;
&lt;/dependency&gt;</pre></div>
</div>
<div class="highlight-java notranslate"><div class="highlight hljs"><pre class="java">import com.taobao.arthas.agent.attach.ArthasAgent;
public class ArthasAttachExample {
public static void main(String[] args) {
ArthasAgent.attach();
}
}</pre></div>
</div>
<p>也可以配置属性:</p>
<div class="highlight-java notranslate"><div class="highlight hljs"><pre class="java"> HashMap&lt;String, String&gt; configMap = new HashMap&lt;String, String&gt;();
configMap.put(&quot;arthas.appName&quot;, &quot;demo&quot;);
configMap.put(&quot;arthas.tunnelServer&quot;, &quot;ws://127.0.0.1:7777/ws&quot;);
ArthasAgent.attach(configMap);</pre></div>
</div>
<blockquote>
<div><p>注意配置必须是<code class="docutils literal notranslate"><span class="pre">驼峰</span></code>和spring boot的<code class="docutils literal notranslate"><span class="pre">-</span></code>风格不一样。spring boot应用才同时支持<code class="docutils literal notranslate"><span class="pre">驼峰</span></code><code class="docutils literal notranslate"><span class="pre">-</span></code>风格的配置。</p>
</div></blockquote>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="idea-plugin.html" class="btn btn-neutral float-right" title="IDEA Plugin" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="docker.html" class="btn btn-neutral float-left" title="Docker" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2018-2020, Alibaba Middleware Group, and contributors
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
<div class="github-fork-ribbon-wrapper right">
<div class="github-fork-ribbon">
<a href="https://github.com/alibaba/arthas" target="_blank">Fork me at GitHub</a>
</div>
</div>
<script type="text/javascript" src="_static/add_badges.js"></script>
<script src="https://g.alicdn.com/code/lib/highlight.js/9.13.1/highlight.min.js"></script>
<script src="https://g.alicdn.com/code/lib/highlightjs-line-numbers.js/2.5.0/highlightjs-line-numbers.min.js"></script>
<script>
document.querySelectorAll('div.hljs > pre').forEach(function(block) {
hljs.highlightBlock(block);
hljs.lineNumbersBlock(block);
});
</script>
<script type="text/javascript">document.write(unescape("%3Cspan style='display:none;' id='cnzz_stat_icon_1279151497'%3E%3C/span%3E%3Cscript src='https://s4.cnzz.com/z_stat.php%3Fid%3D1279151497' type='text/javascript'%3E%3C/script%3E"));</script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?d5c5e25b100f0eb51a4c35c8a86ea9b4";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>