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/assets/http-api.html.597fe391.js

345 lines
76 KiB
JavaScript

import{_ as i}from"./arthas-web-ui.d97900e6.js";import{_ as l,o as c,c as u,a as s,b as a,w as r,e as n,d as t,r as o}from"./app.391b0e4e.js";const d={},v=s("h1",{id:"http-api",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#http-api","aria-hidden":"true"},"#"),n(" Http API")],-1),k={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=case-http-api",target:"_blank",rel:"noopener noreferrer"},b=s("code",null,"Http API",-1),m=n("\u5728\u7EBF\u6559\u7A0B"),q=t(`<h3 id="\u6982\u89C8" tabindex="-1"><a class="header-anchor" href="#\u6982\u89C8" aria-hidden="true">#</a> \u6982\u89C8</h3><p>Http API \u63D0\u4F9B\u7C7B\u4F3C RESTful \u7684\u4EA4\u4E92\u63A5\u53E3\uFF0C\u8BF7\u6C42\u548C\u54CD\u5E94\u5747\u4E3A JSON \u683C\u5F0F\u7684\u6570\u636E\u3002\u76F8\u5BF9\u4E8E Telnet/WebConsole \u7684\u8F93\u51FA\u975E\u7ED3\u6784\u5316\u6587\u672C\u6570\u636E\uFF0CHttp API \u53EF\u4EE5\u63D0\u4F9B\u7ED3\u6784\u5316\u7684\u6570\u636E\uFF0C\u652F\u6301\u66F4\u590D\u6742\u7684\u4EA4\u4E92\u529F\u80FD\uFF0C\u6BD4\u5982\u7279\u5B9A\u5E94\u7528\u573A\u666F\u7684\u4E00\u7CFB\u5217\u8BCA\u65AD\u64CD\u4F5C\u3002</p><h4 id="\u8BBF\u95EE\u5730\u5740" tabindex="-1"><a class="header-anchor" href="#\u8BBF\u95EE\u5730\u5740" aria-hidden="true">#</a> \u8BBF\u95EE\u5730\u5740</h4><p>Http API \u63A5\u53E3\u5730\u5740\u4E3A\uFF1A<code>http://ip:port/api</code>\uFF0C\u5FC5\u987B\u4F7F\u7528 POST \u65B9\u5F0F\u63D0\u4EA4\u8BF7\u6C42\u53C2\u6570\u3002\u5982 POST <code>http://127.0.0.1:8563/api</code> \u3002</p><p>\u6CE8\u610F\uFF1Atelnet \u670D\u52A1\u7684 3658 \u7AEF\u53E3\u4E0E Chrome \u6D4F\u89C8\u5668\u6709\u517C\u5BB9\u6027\u95EE\u9898\uFF0C\u5EFA\u8BAE\u4F7F\u7528 http \u7AEF\u53E3 8563 \u6765\u8BBF\u95EE http \u63A5\u53E3\u3002</p><h4 id="\u8BF7\u6C42\u6570\u636E\u683C\u5F0F" tabindex="-1"><a class="header-anchor" href="#\u8BF7\u6C42\u6570\u636E\u683C\u5F0F" aria-hidden="true">#</a> \u8BF7\u6C42\u6570\u636E\u683C\u5F0F</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;action&quot;</span><span class="token operator">:</span> <span class="token string">&quot;exec&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;requestId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;req112&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;sessionId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;94766d3c-8b39-42d3-8596-98aee3ccbefb&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;consumerId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;955dbd1325334a84972b0f3ac19de4f7_2&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;command&quot;</span><span class="token operator">:</span> <span class="token string">&quot;version&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;execTimeout&quot;</span><span class="token operator">:</span> <span class="token string">&quot;10000&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u8BF7\u6C42\u6570\u636E\u683C\u5F0F\u8BF4\u660E\uFF1A</p><ul><li><code>action</code> : \u8BF7\u6C42\u7684\u52A8\u4F5C/\u884C\u4E3A\uFF0C\u53EF\u9009\u503C\u8BF7\u53C2\u8003&quot;\u8BF7\u6C42 Action&quot;\u5C0F\u8282\u3002</li><li><code>requestId</code> : \u53EF\u9009\u8BF7\u6C42 ID\uFF0C\u7531\u5BA2\u6237\u7AEF\u751F\u6210\u3002</li><li><code>sessionId</code> : Arthas \u4F1A\u8BDD ID\uFF0C\u4E00\u6B21\u6027\u547D\u4EE4\u4E0D\u9700\u8981\u8BBE\u7F6E\u4F1A\u8BDD ID\u3002</li><li><code>consumerId</code> : Arthas \u6D88\u8D39\u8005 ID\uFF0C\u7528\u4E8E\u591A\u4EBA\u5171\u4EAB\u4F1A\u8BDD\u3002</li><li><code>command</code> : Arthas command line \u3002</li><li><code>execTimeout</code> : \u547D\u4EE4\u540C\u6B65\u6267\u884C\u7684\u8D85\u65F6\u65F6\u95F4(ms)\uFF0C\u9ED8\u8BA4\u4E3A 30000\u3002</li></ul><p>\u6CE8\u610F: \u4E0D\u540C\u7684 action \u4F7F\u7528\u5230\u53C2\u6570\u4E0D\u540C\uFF0C\u6839\u636E\u5177\u4F53\u7684 action \u6765\u8BBE\u7F6E\u53C2\u6570\u3002</p><h4 id="\u8BF7\u6C42-action" tabindex="-1"><a class="header-anchor" href="#\u8BF7\u6C42-action" aria-hidden="true">#</a> \u8BF7\u6C42 Action</h4><p>\u76EE\u524D\u652F\u6301\u7684\u8BF7\u6C42 Action \u5982\u4E0B\uFF1A</p><ul><li><code>exec</code> : \u540C\u6B65\u6267\u884C\u547D\u4EE4\uFF0C\u547D\u4EE4\u6B63\u5E38\u7ED3\u675F\u6216\u8005\u8D85\u65F6\u540E\u4E2D\u65AD\u547D\u4EE4\u6267\u884C\u540E\u8FD4\u56DE\u547D\u4EE4\u7684\u6267\u884C\u7ED3\u679C\u3002</li><li><code>async_exec</code> : \u5F02\u6B65\u6267\u884C\u547D\u4EE4\uFF0C\u7ACB\u5373\u8FD4\u56DE\u547D\u4EE4\u7684\u8C03\u5EA6\u7ED3\u679C\uFF0C\u547D\u4EE4\u6267\u884C\u7ED3\u679C\u901A\u8FC7<code>pull_results</code>\u83B7\u53D6\u3002</li><li><code>interrupt_job</code> : \u4E2D\u65AD\u4F1A\u8BDD\u5F53\u524D\u7684\u547D\u4EE4\uFF0C\u7C7B\u4F3C Telnet <code>Ctrl + c</code>\u7684\u529F\u80FD\u3002</li><li><code>pull_results</code> : \u83B7\u53D6\u5F02\u6B65\u6267\u884C\u7684\u547D\u4EE4\u7684\u7ED3\u679C\uFF0C\u4EE5 http \u957F\u8F6E\u8BE2\uFF08long-polling\uFF09\u65B9\u5F0F\u91CD\u590D\u6267\u884C</li><li><code>init_session</code> : \u521B\u5EFA\u4F1A\u8BDD</li><li><code>join_session</code> : \u52A0\u5165\u4F1A\u8BDD\uFF0C\u7528\u4E8E\u652F\u6301\u591A\u4EBA\u5171\u4EAB\u540C\u4E00\u4E2A Arthas \u4F1A\u8BDD</li><li><code>close_session</code> : \u5173\u95ED\u4F1A\u8BDD</li></ul><h4 id="\u54CD\u5E94\u72B6\u6001" tabindex="-1"><a class="header-anchor" href="#\u54CD\u5E94\u72B6\u6001" aria-hidden="true">#</a> \u54CD\u5E94\u72B6\u6001</h4><p>\u54CD\u5E94\u4E2D\u7684 state \u5C5E\u6027\u8868\u793A\u8BF7\u6C42\u5904\u7406\u72B6\u6001\uFF0C\u53D6\u503C\u5982\u4E0B\uFF1A</p><ul><li><code>SCHEDULED</code>\uFF1A\u5F02\u6B65\u6267\u884C\u547D\u4EE4\u65F6\u8868\u793A\u5DF2\u7ECF\u521B\u5EFA job \u5E76\u5DF2\u63D0\u4EA4\u5230\u547D\u4EE4\u6267\u884C\u961F\u5217\uFF0C\u547D\u4EE4\u53EF\u80FD\u8FD8\u6CA1\u5F00\u59CB\u6267\u884C\u6216\u8005\u6267\u884C\u4E2D\uFF1B</li><li><code>SUCCEEDED</code>\uFF1A\u8BF7\u6C42\u5904\u7406\u6210\u529F\uFF08\u5B8C\u6210\u72B6\u6001\uFF09\uFF1B</li><li><code>FAILED</code>\uFF1A\u8BF7\u6C42\u5904\u7406\u5931\u8D25\uFF08\u5B8C\u6210\u72B6\u6001\uFF09\uFF0C\u901A\u5E38\u9644\u5E26 message \u8BF4\u660E\u539F\u56E0\uFF1B</li><li><code>REFUSED</code>\uFF1A\u8BF7\u6C42\u88AB\u62D2\u7EDD\uFF08\u5B8C\u6210\u72B6\u6001\uFF09\uFF0C\u901A\u5E38\u9644\u5E26 message \u8BF4\u660E\u539F\u56E0\uFF1B</li></ul><h3 id="\u4E00\u6B21\u6027\u547D\u4EE4" tabindex="-1"><a class="header-anchor" href="#\u4E00\u6B21\u6027\u547D\u4EE4" aria-hidden="true">#</a> \u4E00\u6B21\u6027\u547D\u4EE4</h3><p>\u4E0E\u6267\u884C\u6279\u5904\u7406\u547D\u4EE4\u7C7B\u4F3C\uFF0C\u4E00\u6B21\u6027\u547D\u4EE4\u4EE5\u540C\u6B65\u65B9\u5F0F\u6267\u884C\u3002\u4E0D\u9700\u8981\u521B\u5EFA\u4F1A\u8BDD\uFF0C\u4E0D\u9700\u8981\u8BBE\u7F6E<code>sessionId</code>\u9009\u9879\u3002</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;action&quot;</span><span class="token operator">:</span> <span class="token string">&quot;exec&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;command&quot;</span><span class="token operator">:</span> <span class="token string">&quot;&lt;Arthas command line&gt;&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6BD4\u5982\u83B7\u53D6 Arthas \u7248\u672C\u53F7\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">&#39;
{
&quot;action&quot;:&quot;exec&quot;,
&quot;command&quot;:&quot;version&quot;
}
&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u54CD\u5E94\u5185\u5BB9\u5982\u4E0B\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;state&quot;</span><span class="token operator">:</span> <span class="token string">&quot;SUCCEEDED&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;sessionId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;ee3bc004-4586-43de-bac0-b69d6db7a869&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;body&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;results&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;version&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;version&quot;</span><span class="token operator">:</span> <span class="token string">&quot;3.3.7&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">5</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span>
<span class="token property">&quot;statusCode&quot;</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;status&quot;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token property">&quot;timeExpired&quot;</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
<span class="token property">&quot;command&quot;</span><span class="token operator">:</span> <span class="token string">&quot;version&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobStatus&quot;</span><span class="token operator">:</span> <span class="token string">&quot;TERMINATED&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">5</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u54CD\u5E94\u6570\u636E\u89E3\u6790\uFF1A</p><ul><li><code>state</code>: \u8BF7\u6C42\u5904\u7406\u72B6\u6001\uFF0C\u53C2\u8003\u201C\u63A5\u53E3\u54CD\u5E94\u72B6\u6001\u201D\u8BF4\u660E</li><li><code>sessionId </code>: Arthas \u4F1A\u8BDD ID\uFF0C\u4E00\u6B21\u6027\u547D\u4EE4\u81EA\u52A8\u521B\u5EFA\u53CA\u9500\u6BC1\u4E34\u65F6\u4F1A\u8BDD</li><li><code>body.jobId</code>: \u547D\u4EE4\u7684\u4EFB\u52A1 ID\uFF0C\u540C\u4E00\u4EFB\u52A1\u8F93\u51FA\u7684\u6240\u6709 Result \u90FD\u662F\u76F8\u540C\u7684 jobId</li><li><code>body.jobStatus</code>: \u4EFB\u52A1\u72B6\u6001\uFF0C\u540C\u6B65\u6267\u884C\u6B63\u5E38\u7ED3\u675F\u4E3A<code>TERMINATED </code></li><li><code>body.timeExpired</code>: \u4EFB\u52A1\u6267\u884C\u662F\u5426\u8D85\u65F6</li><li><code>body/results</code>: \u547D\u4EE4\u6267\u884C\u7684\u7ED3\u679C\u5217\u8868</li></ul><p><strong>\u547D\u4EE4\u7ED3\u679C\u683C\u5F0F\u8BF4\u660E</strong></p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;version&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;version&quot;</span><span class="token operator">:</span> <span class="token string">&quot;3.3.7&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">5</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span>
<span class="token property">&quot;statusCode&quot;</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;status&quot;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><code>type</code> : \u547D\u4EE4\u7ED3\u679C\u7C7B\u578B\uFF0C\u9664\u4E86<code>status</code>\u7B49\u7279\u6B8A\u7684\u51E0\u4E2A\u5916\uFF0C\u5176\u5B83\u7684\u4FDD\u6301\u4E0E Arthas \u547D\u4EE4\u540D\u79F0\u4E00\u81F4\u3002\u8BF7\u53C2\u8003&quot;<a href="#special_command_results">\u7279\u6B8A\u547D\u4EE4\u7ED3\u679C</a>&quot;\u5C0F\u8282\u3002</li><li><code>jobId</code> : \u5904\u7406\u547D\u4EE4\u7684\u4EFB\u52A1 ID\u3002</li><li>\u5176\u5B83\u5B57\u6BB5\u4E3A\u6BCF\u4E2A\u4E0D\u540C\u547D\u4EE4\u7684\u6570\u636E\u3002</li></ul><p>\u6CE8\u610F\uFF1A\u4E5F\u53EF\u4EE5\u4F7F\u7528\u4E00\u6B21\u6027\u547D\u4EE4\u7684\u65B9\u5F0F\u6267\u884C watch/trace \u7B49\u8FDE\u7EED\u8F93\u51FA\u7684\u547D\u4EE4\uFF0C\u4F46\u4E0D\u80FD\u4E2D\u65AD\u547D\u4EE4\u6267\u884C\uFF0C\u53EF\u80FD\u51FA\u73B0\u957F\u65F6\u95F4\u6CA1\u6709\u7ED3\u675F\u7684\u95EE\u9898\u3002\u8BF7\u53C2\u8003&quot;<a href="#change_watch_value_to_map">watch \u547D\u4EE4\u8F93\u51FA map \u5BF9\u8C61</a>&quot;\u5C0F\u8282\u7684\u793A\u4F8B\u3002</p><p>\u8BF7\u5C3D\u91CF\u6309\u7167\u4EE5\u4E0B\u65B9\u5F0F\u5904\u7406\uFF1A</p><ul><li>\u8BBE\u7F6E\u5408\u7406\u7684<code>execTimeout</code>\uFF0C\u5230\u8FBE\u8D85\u65F6\u65F6\u95F4\u540E\u5F3A\u5236\u4E2D\u65AD\u547D\u4EE4\u6267\u884C\uFF0C\u907F\u514D\u957F\u65F6\u95F4\u6302\u8D77\u3002</li><li>\u901A\u8FC7<code>-n</code>\u53C2\u6570\u6307\u5B9A\u8F83\u5C11\u7684\u6267\u884C\u6B21\u6570\u3002</li><li>\u4FDD\u8BC1\u547D\u4EE4\u5339\u914D\u7684\u65B9\u6CD5\u53EF\u4EE5\u6210\u529F\u547D\u4E2D\u548C condition-express \u7F16\u5199\u6B63\u786E\uFF0C\u5982\u679C watch/trace \u6CA1\u6709\u547D\u4E2D\u5C31\u7B97\u6307\u5B9A<code>-n 1</code>\u4E5F\u4F1A\u6302\u8D77\u7B49\u5F85\u5230\u6267\u884C\u8D85\u65F6\u3002</li></ul><h3 id="\u4F1A\u8BDD\u4EA4\u4E92" tabindex="-1"><a class="header-anchor" href="#\u4F1A\u8BDD\u4EA4\u4E92" aria-hidden="true">#</a> \u4F1A\u8BDD\u4EA4\u4E92</h3><p>\u7531\u7528\u6237\u521B\u5EFA\u53CA\u7BA1\u7406 Arthas \u4F1A\u8BDD\uFF0C\u9002\u7528\u4E8E\u590D\u6742\u7684\u4EA4\u4E92\u8FC7\u7A0B\u3002\u8BBF\u95EE\u6D41\u7A0B\u5982\u4E0B\uFF1A</p><ul><li>\u521B\u5EFA\u4F1A\u8BDD</li><li>\u52A0\u5165\u4F1A\u8BDD(\u53EF\u9009\uFF09</li><li>\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C</li><li>\u6267\u884C\u4E00\u7CFB\u5217\u547D\u4EE4</li><li>\u4E2D\u65AD\u547D\u4EE4\u6267\u884C</li><li>\u5173\u95ED\u4F1A\u8BDD</li></ul><h4 id="\u521B\u5EFA\u4F1A\u8BDD" tabindex="-1"><a class="header-anchor" href="#\u521B\u5EFA\u4F1A\u8BDD" aria-hidden="true">#</a> \u521B\u5EFA\u4F1A\u8BDD</h4><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">&#39;
{
&quot;action&quot;:&quot;init_session&quot;
}
&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u54CD\u5E94\u7ED3\u679C\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;sessionId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;b09f1353-202c-407b-af24-701b744f971e&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;consumerId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;5ae4e5fbab8b4e529ac404f260d4e2d1_1&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;state&quot;</span><span class="token operator">:</span> <span class="token string">&quot;SUCCEEDED&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u5F53\u524D\u4F1A\u8BDD ID \u4E3A\uFF1A <code>b09f1353-202c-407b-af24-701b744f971e</code>\uFF0C \u5F53\u524D\u6D88\u8D39\u8005 ID \u4E3A\uFF1A<code>5ae4e5fbab8b4e529ac404f260d4e2d1_1 </code>\u3002</p><h4 id="\u52A0\u5165\u4F1A\u8BDD" tabindex="-1"><a class="header-anchor" href="#\u52A0\u5165\u4F1A\u8BDD" aria-hidden="true">#</a> \u52A0\u5165\u4F1A\u8BDD</h4><p>\u6307\u5B9A\u8981\u52A0\u5165\u7684\u4F1A\u8BDD ID\uFF0C\u670D\u52A1\u7AEF\u5C06\u5206\u914D\u4E00\u4E2A\u65B0\u7684\u6D88\u8D39\u8005 ID\u3002\u591A\u4E2A\u6D88\u8D39\u8005\u53EF\u4EE5\u63A5\u6536\u5230\u540C\u4E00\u4E2A\u4F1A\u8BDD\u7684\u547D\u4EE4\u7ED3\u679C\u3002\u672C\u63A5\u53E3\u7528\u4E8E\u652F\u6301\u591A\u4EBA\u5171\u4EAB\u540C\u4E00\u4E2A\u4F1A\u8BDD\u6216\u5237\u65B0\u9875\u9762\u540E\u91CD\u65B0\u62C9\u53D6\u4F1A\u8BDD\u5386\u53F2\u8BB0\u5F55\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">&#39;
{
&quot;action&quot;:&quot;join_session&quot;,
&quot;sessionId&quot; : &quot;b09f1353-202c-407b-af24-701b744f971e&quot;
}
&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u54CD\u5E94\u7ED3\u679C\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;consumerId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;8f7f6ad7bc2d4cb5aa57a530927a95cc_2&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;sessionId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;b09f1353-202c-407b-af24-701b744f971e&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;state&quot;</span><span class="token operator">:</span> <span class="token string">&quot;SUCCEEDED&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u65B0\u7684\u6D88\u8D39\u8005 ID \u4E3A<code>8f7f6ad7bc2d4cb5aa57a530927a95cc_2 </code> \u3002</p><h4 id="\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C" tabindex="-1"><a class="header-anchor" href="#\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C" aria-hidden="true">#</a> \u62C9\u53D6\u547D\u4EE4\u7ED3\u679C</h4><p>\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C\u6D88\u606F\u7684 action \u4E3A<code>pull_results</code>\u3002\u8BF7\u4F7F\u7528 Http long-polling \u65B9\u5F0F\uFF0C\u5B9A\u65F6\u5FAA\u73AF\u62C9\u53D6\u7ED3\u679C\u6D88\u606F\u3002 \u6D88\u8D39\u8005\u7684\u8D85\u65F6\u65F6\u95F4\u4E3A 5 \u5206\u949F\uFF0C\u8D85\u65F6\u540E\u9700\u8981\u8C03\u7528<code>join_session</code>\u5206\u914D\u65B0\u7684\u6D88\u8D39\u8005\u3002\u6BCF\u4E2A\u6D88\u8D39\u8005\u5355\u72EC\u5206\u914D\u4E00\u4E2A\u7F13\u5B58\u961F\u5217\uFF0C\u6309\u987A\u5E8F\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C\uFF0C\u4E0D\u4F1A\u5F71\u54CD\u5230\u5176\u5B83\u6D88\u8D39\u8005\u3002</p><p>\u8BF7\u6C42\u53C2\u6570\u9700\u8981\u6307\u5B9A\u4F1A\u8BDD ID \u53CA\u6D88\u8D39\u8005 ID:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">&#39;
{
&quot;action&quot;:&quot;pull_results&quot;,
&quot;sessionId&quot; : &quot;b09f1353-202c-407b-af24-701b744f971e&quot;,
&quot;consumerId&quot; : &quot;8f7f6ad7bc2d4cb5aa57a530927a95cc_2&quot;
}
&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u7528 Bash \u811A\u672C\u5B9A\u65F6\u62C9\u53D6\u7ED3\u679C\u6D88\u606F:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token keyword">while</span> <span class="token boolean">true</span><span class="token punctuation">;</span> <span class="token keyword">do</span> <span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">&#39;
{
&quot;action&quot;:&quot;pull_results&quot;,
&quot;sessionId&quot; : &quot;2b085b5d-883b-4914-ab35-b2c5c1d5aa2a&quot;,
&quot;consumerId&quot; : &quot;8ecb9cb7c7804d5d92e258b23d5245cc_1&quot;
}
&#39;</span> <span class="token operator">|</span> json_pp<span class="token punctuation">;</span> <span class="token function">sleep</span> <span class="token number">2</span><span class="token punctuation">;</span> <span class="token keyword">done</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6CE8\uFF1A <code>json_pp</code> \u5DE5\u5177\u5C06\u8F93\u51FA\u5185\u5BB9\u683C\u5F0F\u5316\u4E3A pretty json\u3002</p><p>\u54CD\u5E94\u5185\u5BB9\u5982\u4E0B\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;body&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;results&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;inputStatus&quot;</span><span class="token operator">:</span> <span class="token string">&quot;DISABLED&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;input_status&quot;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;message&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
<span class="token property">&quot;message&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Welcome to arthas!&quot;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;tutorials&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://arthas.aliyun.com/doc/arthas-tutorials.html&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;time&quot;</span><span class="token operator">:</span> <span class="token string">&quot;2020-08-06 15:56:43&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;welcome&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
<span class="token property">&quot;pid&quot;</span><span class="token operator">:</span> <span class="token string">&quot;7909&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;wiki&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://arthas.aliyun.com/doc&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;version&quot;</span><span class="token operator">:</span> <span class="token string">&quot;3.3.7&quot;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;inputStatus&quot;</span><span class="token operator">:</span> <span class="token string">&quot;ALLOW_INPUT&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;input_status&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">0</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token property">&quot;sessionId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;b09f1353-202c-407b-af24-701b744f971e&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;consumerId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;8f7f6ad7bc2d4cb5aa57a530927a95cc_2&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;state&quot;</span><span class="token operator">:</span> <span class="token string">&quot;SUCCEEDED&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="\u5F02\u6B65\u6267\u884C\u547D\u4EE4" tabindex="-1"><a class="header-anchor" href="#\u5F02\u6B65\u6267\u884C\u547D\u4EE4" aria-hidden="true">#</a> \u5F02\u6B65\u6267\u884C\u547D\u4EE4</h4><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">&#39;&#39;</span>&#39;
<span class="token punctuation">{</span>
<span class="token string">&quot;action&quot;</span><span class="token builtin class-name">:</span><span class="token string">&quot;async_exec&quot;</span>,
<span class="token string">&quot;command&quot;</span><span class="token builtin class-name">:</span><span class="token string">&quot;watch demo.MathGame primeFactors <span class="token entity" title="\\&quot;">\\&quot;</span>{params, returnObj, throwExp}<span class="token entity" title="\\&quot;">\\&quot;</span> &quot;</span>,
<span class="token string">&quot;sessionId&quot;</span> <span class="token builtin class-name">:</span> <span class="token string">&quot;2b085b5d-883b-4914-ab35-b2c5c1d5aa2a&quot;</span>
<span class="token punctuation">}</span>
<span class="token string">&#39;&#39;</span>&#39;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><code>async_exec</code> \u7684\u7ED3\u679C\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;sessionId&quot;</span><span class="token operator">:</span> <span class="token string">&quot;2b085b5d-883b-4914-ab35-b2c5c1d5aa2a&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;state&quot;</span><span class="token operator">:</span> <span class="token string">&quot;SCHEDULED&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;body&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;jobStatus&quot;</span><span class="token operator">:</span> <span class="token string">&quot;READY&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;command&quot;</span><span class="token operator">:</span> <span class="token string">&quot;watch demo.MathGame primeFactors \\&quot;{params, returnObj, throwExp}\\&quot; &quot;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><code>state</code> : <code>SCHEDULED</code> \u72B6\u6001\u8868\u793A\u5DF2\u7ECF\u89E3\u6790\u547D\u4EE4\u751F\u6210\u4EFB\u52A1\uFF0C\u4F46\u672A\u5F00\u59CB\u6267\u884C\u3002</li><li><code>body.jobId</code> : \u5F02\u6B65\u6267\u884C\u547D\u4EE4\u7684\u4EFB\u52A1 ID\uFF0C\u53EF\u4EE5\u6839\u636E\u6B64\u4EFB\u52A1 ID \u6765\u8FC7\u6EE4\u5728<code>pull_results</code>\u8F93\u51FA\u7684\u547D\u4EE4\u7ED3\u679C\u3002</li><li><code>body.jobStatus</code> : \u4EFB\u52A1\u72B6\u6001<code>READY</code>\u8868\u793A\u672A\u5F00\u59CB\u6267\u884C\u3002</li></ul><p>\u67E5\u770B\u4E0A\u9762\u81EA\u52A8\u62C9\u53D6\u7ED3\u679C\u6D88\u606F\u811A\u672C\u7684 shell \u8F93\u51FA\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;body&quot;</span> <span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;results&quot;</span> <span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;type&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;command&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;state&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;SCHEDULED&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;command&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;watch demo.MathGame primeFactors \\&quot;{params, returnObj, throwExp}\\&quot; &quot;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;inputStatus&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;ALLOW_INTERRUPT&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span> <span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;input_status&quot;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;success&quot;</span> <span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;effect&quot;</span> <span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;listenerId&quot;</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;cost&quot;</span> <span class="token operator">:</span> <span class="token number">24</span><span class="token punctuation">,</span>
<span class="token property">&quot;classCount&quot;</span> <span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
<span class="token property">&quot;methodCount&quot;</span> <span class="token operator">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;enhancer&quot;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;sizeLimit&quot;</span> <span class="token operator">:</span> <span class="token number">10485760</span><span class="token punctuation">,</span>
<span class="token property">&quot;expand&quot;</span> <span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;watch&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;cost&quot;</span> <span class="token operator">:</span> <span class="token number">0.071499</span><span class="token punctuation">,</span>
<span class="token property">&quot;ts&quot;</span> <span class="token operator">:</span> <span class="token number">1596703453237</span><span class="token punctuation">,</span>
<span class="token property">&quot;value&quot;</span> <span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">[</span>
<span class="token number">-170365</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token null keyword">null</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;stackTrace&quot;</span> <span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;className&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;demo.MathGame&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;classLoaderName&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;app&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;methodName&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;primeFactors&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;nativeMethod&quot;</span> <span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
<span class="token property">&quot;lineNumber&quot;</span> <span class="token operator">:</span> <span class="token number">46</span><span class="token punctuation">,</span>
<span class="token property">&quot;fileName&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;MathGame.java&quot;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
...
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token property">&quot;localizedMessage&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;number is: -170365, need &gt;= 2&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;@type&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;java.lang.IllegalArgumentException&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;message&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;number is: -170365, need &gt;= 2&quot;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;type&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;watch&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;cost&quot;</span> <span class="token operator">:</span> <span class="token number">0.033375</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;ts&quot;</span> <span class="token operator">:</span> <span class="token number">1596703454241</span><span class="token punctuation">,</span>
<span class="token property">&quot;value&quot;</span> <span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">[</span>
<span class="token number">1</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">[</span>
<span class="token number">2</span><span class="token punctuation">,</span>
<span class="token number">2</span><span class="token punctuation">,</span>
<span class="token number">2</span><span class="token punctuation">,</span>
<span class="token number">2</span><span class="token punctuation">,</span>
<span class="token number">13</span><span class="token punctuation">,</span>
<span class="token number">491</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token null keyword">null</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token property">&quot;sizeLimit&quot;</span> <span class="token operator">:</span> <span class="token number">10485760</span><span class="token punctuation">,</span>
<span class="token property">&quot;expand&quot;</span> <span class="token operator">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token property">&quot;consumerId&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;8ecb9cb7c7804d5d92e258b23d5245cc_1&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;sessionId&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;2b085b5d-883b-4914-ab35-b2c5c1d5aa2a&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;state&quot;</span> <span class="token operator">:</span> <span class="token string">&quot;SUCCEEDED&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>watch \u547D\u4EE4\u7ED3\u679C\u7684<code>value</code>\u4E3A watch-experss \u7684\u503C\uFF0C\u4E0A\u9762\u547D\u4EE4\u4E2D\u4E3A<code>{params, returnObj, throwExp}</code>\uFF0C\u6240\u4EE5 watch \u7ED3\u679C\u7684 value \u4E3A\u4E00\u4E2A\u957F\u5EA6\u4E3A 3 \u7684\u6570\u7EC4\uFF0C\u6BCF\u4E2A\u5143\u7D20\u5206\u522B\u5BF9\u5E94\u76F8\u5E94\u987A\u5E8F\u7684\u8868\u8FBE\u5F0F\u3002 \u8BF7\u53C2\u8003&quot;<a href="#change_watch_value_to_map">watch \u547D\u4EE4\u8F93\u51FA map \u5BF9\u8C61</a>&quot;\u5C0F\u8282\u3002</p><h4 id="\u4E2D\u65AD\u547D\u4EE4\u6267\u884C" tabindex="-1"><a class="header-anchor" href="#\u4E2D\u65AD\u547D\u4EE4\u6267\u884C" aria-hidden="true">#</a> \u4E2D\u65AD\u547D\u4EE4\u6267\u884C</h4><p>\u4E2D\u65AD\u4F1A\u8BDD\u6B63\u5728\u8FD0\u884C\u7684\u524D\u53F0 Job\uFF08\u524D\u53F0\u4EFB\u52A1\uFF09\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">&#39;&#39;</span>&#39;
<span class="token punctuation">{</span>
<span class="token string">&quot;action&quot;</span><span class="token builtin class-name">:</span><span class="token string">&quot;interrupt_job&quot;</span>,
<span class="token string">&quot;sessionId&quot;</span> <span class="token builtin class-name">:</span> <span class="token string">&quot;2b085b5d-883b-4914-ab35-b2c5c1d5aa2a&quot;</span>
<span class="token punctuation">}</span>
<span class="token string">&#39;&#39;</span>&#39;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>{
&quot;state&quot; : &quot;SUCCEEDED&quot;,
&quot;body&quot; : {
&quot;jobStatus&quot; : &quot;TERMINATED&quot;,
&quot;jobId&quot; : 3
}
}
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="\u5173\u95ED\u4F1A\u8BDD" tabindex="-1"><a class="header-anchor" href="#\u5173\u95ED\u4F1A\u8BDD" aria-hidden="true">#</a> \u5173\u95ED\u4F1A\u8BDD</h4><p>\u6307\u5B9A\u4F1A\u8BDD ID\uFF0C\u5173\u95ED\u4F1A\u8BDD\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">&#39;&#39;</span>&#39;
<span class="token punctuation">{</span>
<span class="token string">&quot;action&quot;</span><span class="token builtin class-name">:</span><span class="token string">&quot;close_session&quot;</span>,
<span class="token string">&quot;sessionId&quot;</span> <span class="token builtin class-name">:</span> <span class="token string">&quot;2b085b5d-883b-4914-ab35-b2c5c1d5aa2a&quot;</span>
<span class="token punctuation">}</span>
<span class="token string">&#39;&#39;</span>&#39;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;state&quot;</span><span class="token operator">:</span> <span class="token string">&quot;SUCCEEDED&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u9274\u6743" tabindex="-1"><a class="header-anchor" href="#\u9274\u6743" aria-hidden="true">#</a> \u9274\u6743</h3>`,71),h=n("\u53C2\u8003\uFF1A "),g=n("auth"),y=s("h3",{id:"web-ui",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#web-ui","aria-hidden":"true"},"#"),n(" Web UI")],-1),_=s("p",null,[s("img",{src:i,alt:"",title:"arthas web ui"})],-1),j=n("\u4E00\u4E2A\u57FA\u4E8E Http API \u63A5\u53E3\u5B9E\u73B0\u7684 Web UI\uFF0C\u8BBF\u95EE\u5730\u5740\u4E3A\uFF1A "),f={href:"http://127.0.0.1:8563/ui",target:"_blank",rel:"noopener noreferrer"},x=n("http://127.0.0.1:8563/ui"),I=n(" \u3002"),E=t(`<p>\u5DF2\u5B9E\u73B0\u529F\u80FD\uFF1A</p><ul><li>\u521B\u5EFA\u4F1A\u8BDD</li><li>\u590D\u5236\u5E76\u6253\u5F00 url \u52A0\u5165\u4F1A\u8BDD\uFF0C\u591A\u4EBA\u5171\u4EAB\u4F1A\u8BDD</li><li>\u5468\u671F\u6027\u62C9\u53D6\u4F1A\u8BDD\u547D\u4EE4\u7ED3\u679C\u6D88\u606F</li><li>\u5237\u65B0\u9875\u9762\u6216\u8005\u52A0\u5165\u4F1A\u8BDD\u62C9\u53D6\u4F1A\u8BDD\u5386\u53F2\u547D\u4EE4\u6D88\u606F</li><li>\u8F93\u5165\u547D\u4EE4/\u4E2D\u65AD\u547D\u4EE4\u72B6\u6001\u63A7\u5236</li></ul><p>\u5F85\u5F00\u53D1\u529F\u80FD\uFF1A</p><ul><li>\u6539\u8FDB\u5C06\u547D\u4EE4\u7ED3\u679C\u6D88\u606F\u53EF\u8BFB\u6027</li><li>\u547D\u4EE4\u8F93\u5165\u652F\u6301\u81EA\u52A8\u5B8C\u6210\u53CA\u547D\u4EE4\u6A21\u677F</li><li>\u63D0\u4F9B\u547D\u4EE4\u5E2E\u52A9</li><li>\u652F\u6301\u4E2A\u4EBA\u9009\u9879\u8BBE\u7F6E</li></ul><p><a id="special_command_results"></a></p><h3 id="\u7279\u6B8A\u547D\u4EE4\u7ED3\u679C" tabindex="-1"><a class="header-anchor" href="#\u7279\u6B8A\u547D\u4EE4\u7ED3\u679C" aria-hidden="true">#</a> \u7279\u6B8A\u547D\u4EE4\u7ED3\u679C</h3><h4 id="status" tabindex="-1"><a class="header-anchor" href="#status" aria-hidden="true">#</a> status</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span>
<span class="token property">&quot;statusCode&quot;</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;status&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><code>type</code>\u4E3A<code>status</code>\u8868\u793A\u547D\u4EE4\u6267\u884C\u72B6\u6001\uFF1A</p><p>\u6BCF\u4E2A\u547D\u4EE4\u6267\u884C\u7ED3\u675F\u540E\u90FD\u6709\u552F\u4E00\u4E00\u4E2A status \u7ED3\u679C\u3002<code>statusCode</code> \u4E3A 0 \u8868\u793A\u6267\u884C\u6210\u529F\uFF0C<code>statusCode</code> \u4E3A\u975E 0 \u503C\u8868\u793A\u6267\u884C\u5931\u8D25\uFF0C\u7C7B\u4F3C\u8FDB\u7A0B\u9000\u51FA\u7801(exit code)\u3002</p><p>\u547D\u4EE4\u6267\u884C\u5931\u8D25\u65F6\u4E00\u822C\u4F1A\u63D0\u4F9B\u9519\u8BEF\u6D88\u606F\uFF0C\u5982\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;message&quot;</span><span class="token operator">:</span> <span class="token string">&quot;The argument &#39;class-pattern&#39; is required&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;statusCode&quot;</span><span class="token operator">:</span> <span class="token number">-10</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;status&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="input-status" tabindex="-1"><a class="header-anchor" href="#input-status" aria-hidden="true">#</a> input_status</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;inputStatus&quot;</span><span class="token operator">:</span> <span class="token string">&quot;ALLOW_INPUT&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;input_status&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">0</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><code>type</code>\u4E3A<code>input_status</code>\u8868\u793A\u8F93\u5165\u72B6\u6001\uFF1A</p><p>\u7528\u4E8E UI \u4EA4\u4E92\u65F6\u63A7\u5236\u7528\u6237\u8F93\u5165\uFF0C\u6BCF\u6B21\u6267\u884C\u547D\u4EE4\u524D\u540E\u4F1A\u53D1\u9001\u6539\u53D8\u7684\u6D88\u606F\u3002 <code>inputStatus</code> \u7684\u503C\u8BF4\u660E\uFF1A</p><ul><li><code>ALLOW_INPUT</code> : \u5141\u8BB8\u7528\u6237\u8F93\u5165\u547D\u4EE4\uFF0C\u8868\u793A\u4F1A\u8BDD\u6CA1\u6709\u5728\u6267\u884C\u7684\u524D\u53F0\u547D\u4EE4\uFF0C\u53EF\u4EE5\u63A5\u53D7\u65B0\u7684\u547D\u4EE4\u3002</li><li><code>ALLOW_INTERRUPT</code> : \u5141\u8BB8\u7528\u6237\u4E2D\u65AD\u547D\u4EE4\u6267\u884C\uFF0C\u8868\u793A\u5F53\u524D\u6B63\u5728\u6267\u884C\u547D\u4EE4\uFF0C\u7528\u6237\u53EF\u4EE5\u53D1\u9001<code>interrupt_job</code>\u4E2D\u65AD\u6267\u884C\u3002</li><li><code>DISABLED</code> : \u7981\u7528\u72B6\u6001\uFF0C\u4E0D\u80FD\u8F93\u5165\u547D\u4EE4\u4E5F\u4E0D\u80FD\u4E2D\u65AD\u547D\u4EE4\u3002</li></ul><h4 id="command" tabindex="-1"><a class="header-anchor" href="#command" aria-hidden="true">#</a> command</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;command&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;state&quot;</span><span class="token operator">:</span> <span class="token string">&quot;SCHEDULED&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;command&quot;</span><span class="token operator">:</span> <span class="token string">&quot;watch demo.MathGame primeFactors \\&quot;{params, returnObj, throwExp}\\&quot; &quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><code>type</code> \u4E3A<code>command</code>\u8868\u793A\u8F93\u5165\u7684\u547D\u4EE4\u6570\u636E\uFF1A</p><p>\u7528\u4E8E\u4EA4\u4E92 UI \u56DE\u663E\u7528\u6237\u8F93\u5165\u7684\u547D\u4EE4\uFF0C\u62C9\u53D6\u7684\u4F1A\u8BDD\u547D\u4EE4\u6D88\u606F\u5386\u53F2\u4F1A\u5305\u542B<code>command</code>\u7C7B\u578B\u7684\u6D88\u606F\uFF0C\u6309\u987A\u5E8F\u5904\u7406\u5373\u53EF\u3002</p><h4 id="enhancer" tabindex="-1"><a class="header-anchor" href="#enhancer" aria-hidden="true">#</a> enhancer</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;success&quot;</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
<span class="token property">&quot;jobId&quot;</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;effect&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;listenerId&quot;</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
<span class="token property">&quot;cost&quot;</span><span class="token operator">:</span> <span class="token number">24</span><span class="token punctuation">,</span>
<span class="token property">&quot;classCount&quot;</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
<span class="token property">&quot;methodCount&quot;</span><span class="token operator">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;enhancer&quot;</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><code>type</code>\u4E3A<code>enhancer</code>\u8868\u793A\u7C7B\u589E\u5F3A\u7ED3\u679C\uFF1A</p><p><code>trace/watch/jad/tt</code>\u7B49\u547D\u4EE4\u9700\u8981\u5BF9\u7C7B\u8FDB\u884C\u589E\u5F3A\uFF0C\u4F1A\u63A5\u6536\u5230\u8FD9\u4E2A<code>enhancer</code>\u7ED3\u679C\u3002\u53EF\u80FD\u51FA\u73B0<code>enhancer</code>\u7ED3\u679C\u6210\u529F\uFF0C\u4F46\u6CA1\u6709\u547D\u4E2D\u65B9\u6CD5\u7684\u60C5\u51B5\uFF0C\u5BA2\u6237\u7AEF\u53EF\u4EE5\u6839\u636E<code>enhancer</code>\u7ED3\u679C\u63D0\u793A\u7528\u6237\u3002</p><h3 id="\u6848\u4F8B" tabindex="-1"><a class="header-anchor" href="#\u6848\u4F8B" aria-hidden="true">#</a> \u6848\u4F8B</h3><h4 id="\u83B7\u53D6-java-\u5E94\u7528\u7684-classpath" tabindex="-1"><a class="header-anchor" href="#\u83B7\u53D6-java-\u5E94\u7528\u7684-classpath" aria-hidden="true">#</a> \u83B7\u53D6 Java \u5E94\u7528\u7684 Classpath</h4><p>\u901A\u8FC7 Http api \u67E5\u8BE2 Java \u5E94\u7528\u7684 System properties\uFF0C\u63D0\u53D6<code>java.class.path</code>\u7684\u503C\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token assign-left variable">json_data</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">&#39;
{
&quot;action&quot;:&quot;exec&quot;,
&quot;command&quot;:&quot;sysprop&quot;
}&#39;</span><span class="token variable">)</span></span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>\u4F7F\u7528<code>sed</code>\u63D0\u53D6\u503C\uFF1A</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token assign-left variable">class_path</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token builtin class-name">echo</span> $json_data <span class="token operator">|</span> <span class="token function">tr</span> -d <span class="token string">&#39;\\n&#39;</span> <span class="token operator">|</span> <span class="token function">sed</span> <span class="token string">&#39;s/.*&quot;java.class.path&quot;:&quot;\\([^&quot;]*\\).*/\\1/&#39;</span><span class="token variable">)</span></span>
<span class="token builtin class-name">echo</span> <span class="token string">&quot;classpath: <span class="token variable">$class_path</span>&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>\u4F7F\u7528<code>json_pp/awk</code>\u63D0\u53D6\u503C</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token assign-left variable">class_path</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token builtin class-name">echo</span> $json_data <span class="token operator">|</span> <span class="token function">tr</span> -d <span class="token string">&#39;\\n&#39;</span> <span class="token operator">|</span> json_pp <span class="token operator">|</span> <span class="token function">grep</span> java.class.path <span class="token operator">|</span> <span class="token function">awk</span> -F<span class="token string">&#39;&quot;&#39;</span> <span class="token string">&#39;{ print $4 }&#39;</span><span class="token variable">)</span></span>
<span class="token builtin class-name">echo</span> <span class="token string">&quot;classpath: <span class="token variable">$class_path</span>&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>\u8F93\u51FA\u5185\u5BB9\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>classpath: demo-arthas-spring-boot.jar
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u6CE8\u610F\uFF1A</p><ul><li><code>echo $json_data | tr -d &#39;\\n&#39;</code> : \u5220\u9664\u6362\u884C\u7B26(<code>line.separator</code>\u7684\u503C)\uFF0C\u907F\u514D\u5F71\u54CD<code>sed</code>/<code>json_pp</code>\u547D\u4EE4\u5904\u7406\u3002</li><li><code>awk -F&#39;&quot;&#39; &#39;{ print $4 }&#39;</code> : \u4F7F\u7528\u53CC\u5F15\u53F7\u4F5C\u4E3A\u5206\u9694\u7B26\u53F7</li></ul><p><a id="change_watch_value_to_map"></a></p><h4 id="watch-\u547D\u4EE4\u8F93\u51FA-map-\u5BF9\u8C61" tabindex="-1"><a class="header-anchor" href="#watch-\u547D\u4EE4\u8F93\u51FA-map-\u5BF9\u8C61" aria-hidden="true">#</a> watch \u547D\u4EE4\u8F93\u51FA map \u5BF9\u8C61</h4>`,39),S=n("watch \u7684\u7ED3\u679C\u503C\u7531\u8BA1\u7B97"),w=s("code",null,"watch-express",-1),D=n(" ognl \u8868\u8FBE\u5F0F\u4EA7\u751F\uFF0C\u53EF\u4EE5\u901A\u8FC7\u6539\u53D8 ognl \u8868\u8FBE\u5F0F\u6765\u751F\u6210\u60F3\u8981\u7684\u503C\uFF0C\u8BF7\u53C2\u8003"),C={href:"https://commons.apache.org/proper/commons-ognl/language-guide.html",target:"_blank",rel:"noopener noreferrer"},T=n("OGNL \u6587\u6863"),A=n("\u3002"),O=t(`<div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>Maps can also be created using a special syntax.</p><p>#{ &quot;foo&quot; : &quot;foo value&quot;, &quot;bar&quot; : &quot;bar value&quot; }</p><p>This creates a Map initialized with mappings for &quot;foo&quot; and &quot;bar&quot;.</p></div><p>\u4E0B\u9762\u7684\u547D\u4EE4\u751F\u6210 map \u683C\u5F0F\u7684\u503C\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">watch</span> *MathGame prime* <span class="token string">&#39;#{ &quot;params&quot; : params, &quot;returnObj&quot; : returnObj, &quot;throwExp&quot;: throwExp}&#39;</span> -x <span class="token number">2</span> -n <span class="token number">5</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u5728 Telnet shell/WebConsole \u4E2D\u6267\u884C\u4E0A\u9762\u7684\u547D\u4EE4\uFF0C\u8F93\u51FA\u7684\u7ED3\u679C\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2020</span>-08-06 <span class="token number">16</span>:57:20<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.241735ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@LinkedHashMap<span class="token punctuation">[</span>
@String<span class="token punctuation">[</span>params<span class="token punctuation">]</span>:@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
@Integer<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>,
<span class="token punctuation">]</span>,
@String<span class="token punctuation">[</span>returnObj<span class="token punctuation">]</span>:@ArrayList<span class="token punctuation">[</span>
@Integer<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>,
@Integer<span class="token punctuation">[</span><span class="token number">241</span><span class="token punctuation">]</span>,
@Integer<span class="token punctuation">[</span><span class="token number">379</span><span class="token punctuation">]</span>,
<span class="token punctuation">]</span>,
@String<span class="token punctuation">[</span>throwExp<span class="token punctuation">]</span>:null,
<span class="token punctuation">]</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u7528 Http api \u6267\u884C\u4E0A\u9762\u7684\u547D\u4EE4\uFF0C\u6CE8\u610F\u5BF9 JSON \u53CC\u5F15\u53F7\u8F6C\u4E49\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d @- <span class="token operator">&lt;&lt;</span> <span class="token string">EOF
{
&quot;action&quot;:&quot;exec&quot;,
&quot;execTimeout&quot;: 30000,
&quot;command&quot;:&quot;watch *MathGame prime* &#39;#{ <span class="token entity" title="\\&quot;">\\&quot;</span>params<span class="token entity" title="\\&quot;">\\&quot;</span> : params, <span class="token entity" title="\\&quot;">\\&quot;</span>returnObj<span class="token entity" title="\\&quot;">\\&quot;</span> : returnObj, <span class="token entity" title="\\&quot;">\\&quot;</span>throwExp<span class="token entity" title="\\&quot;">\\&quot;</span>: throwExp}&#39; -n 3 &quot;
}
EOF</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Http api \u6267\u884C\u7ED3\u679C\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;body&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
...
<span class="token property">&quot;results&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
...
<span class="token punctuation">{</span>
...
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;watch&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;value&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;params&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token number">1</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token property">&quot;returnObj&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token number">2</span><span class="token punctuation">,</span>
<span class="token number">5</span><span class="token punctuation">,</span>
<span class="token number">17</span><span class="token punctuation">,</span>
<span class="token number">23</span><span class="token punctuation">,</span>
<span class="token number">23</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">{</span>
...
<span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;watch&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;value&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;params&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token number">-98278</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token property">&quot;throwExp&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;@type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;java.lang.IllegalArgumentException&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;localizedMessage&quot;</span><span class="token operator">:</span> <span class="token string">&quot;number is: -98278, need &gt;= 2&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;message&quot;</span><span class="token operator">:</span> <span class="token string">&quot;number is: -98278, need &gt;= 2&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;stackTrace&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
...
<span class="token punctuation">]</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
...
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u53EF\u4EE5\u770B\u5230 watch \u7ED3\u679C\u7684 value \u53D8\u6210 map \u5BF9\u8C61\uFF0C\u7A0B\u5E8F\u53EF\u4EE5\u901A\u8FC7 key \u8BFB\u53D6\u7ED3\u679C\u3002</p>`,10);function L(P,U){const e=o("ExternalLinkIcon"),p=o("RouterLink");return c(),u("div",null,[v,s("p",null,[s("a",k,[b,m,a(e)])]),q,s("p",null,[h,a(p,{to:"/doc/auth.html"},{default:r(()=>[g]),_:1})]),y,_,s("p",null,[j,s("a",f,[x,a(e)]),I]),E,s("p",null,[S,w,D,s("a",C,[T,a(e)]),A]),O])}var H=l(d,[["render",L],["__file","http-api.html.vue"]]);export{H as default};