blob: 073b62feb6bda852e3637d0f93c0af26c942c910 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JMXJsonServlet (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="JMXJsonServlet (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JMXJsonServlet.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html" target="_top">Frames</a></li>
<li><a href="JMXJsonServlet.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.http.jmx</div>
<h2 title="Class JMXJsonServlet" class="title">Class JMXJsonServlet</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.servlet.GenericServlet</li>
<li>
<ul class="inheritance">
<li>javax.servlet.http.HttpServlet</li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.http.jmx.JMXJsonServlet</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, javax.servlet.Servlet, javax.servlet.ServletConfig</dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.128">JMXJsonServlet</a>
extends javax.servlet.http.HttpServlet</pre>
<div class="block">Provides Read only web access to JMX.
<p>
This servlet generally will be placed under the /jmx URL for each
HttpServer. It provides read only
access to JMX metrics. The optional <code>qry</code> parameter
may be used to query only a subset of the JMX Beans. This query
functionality is provided through the
<a href="https://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true#queryNames-javax.management.ObjectName-javax.management.QueryExp-" title="class or interface in javax.management"><code>MBeanServer.queryNames(ObjectName, javax.management.QueryExp)</code></a>
method.
</p>
<p>
For example <code>http://.../jmx?qry=Hadoop:*</code> will return
all hadoop metrics exposed through JMX.
</p>
<p>
The optional <code>get</code> parameter is used to query an specific
attribute of a JMX bean. The format of the URL is
<code>http://.../jmx?get=MXBeanName::AttributeName</code>
</p>
<p>
For example
<code>
http://../jmx?get=Hadoop:service=NameNode,name=NameNodeInfo::ClusterId
</code> will return the cluster id of the namenode mxbean.
</p>
<p>
If we are not sure on the exact attribute and we want to get all the attributes that match one or
more given pattern then the format is
<code>http://.../jmx?get=MXBeanName::*[RegExp1],*[RegExp2]</code>
</p>
<p>
For example
<code>
<p>
http://../jmx?get=Hadoop:service=HBase,name=RegionServer,sub=Tables::[a-zA-z_0-9]*memStoreSize
</p>
<p>
http://../jmx?get=Hadoop:service=HBase,name=RegionServer,sub=Tables::[a-zA-z_0-9]*memStoreSize,[a-zA-z_0-9]*storeFileSize
</p>
</code>
</p>
If the <code>qry</code> or the <code>get</code> parameter is not formatted
correctly then a 400 BAD REQUEST http response code will be returned.
</p>
<p>
If a resouce such as a mbean or attribute can not be found,
a 404 SC_NOT_FOUND http response code will be returned.
</p>
<p>
The return format is JSON and in the form
</p>
<pre><code>
{
"beans" : [
{
"name":"bean-name"
...
}
]
}
</code></pre>
<p>
The servlet attempts to convert the the JMXBeans into JSON. Each
bean's attributes will be converted to a JSON object member.
If the attribute is a boolean, a number, a string, or an array
it will be converted to the JSON equivalent.
If the value is a <a href="https://docs.oracle.com/javase/8/docs/api/javax/management/openmbean/CompositeData.html?is-external=true" title="class or interface in javax.management.openmbean"><code>CompositeData</code></a> then it will be converted
to a JSON object with the keys as the name of the JSON member and
the value is converted following these same rules.
If the value is a <a href="https://docs.oracle.com/javase/8/docs/api/javax/management/openmbean/TabularData.html?is-external=true" title="class or interface in javax.management.openmbean"><code>TabularData</code></a> then it will be converted
to an array of the <a href="https://docs.oracle.com/javase/8/docs/api/javax/management/openmbean/CompositeData.html?is-external=true" title="class or interface in javax.management.openmbean"><code>CompositeData</code></a> elements that it contains.
All other objects will be converted to a string and output as such.
The bean's name and modelerType will be returned for all beans.
Optional paramater "callback" should be used to deliver JSONP response.
</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../serialized-form.html#org.apache.hadoop.hbase.http.jmx.JMXJsonServlet">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#CALLBACK_PARAM">CALLBACK_PARAM</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#INCLUDE_DESCRIPTION">INCLUDE_DESCRIPTION</a></span></code>
<div class="block">If query string includes 'description', then we will emit bean and attribute descriptions to
output IFF they are not null and IFF the description is not the same as the attribute name:
i.e.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/util/JSONBean.html" title="class in org.apache.hadoop.hbase.util">JSONBean</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#jsonBeanWriter">jsonBeanWriter</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#mBeanServer">mBeanServer</a></span></code>
<div class="block">MBean server.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#serialVersionUID">serialVersionUID</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#JMXJsonServlet--">JMXJsonServlet</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#checkCallbackName-java.lang.String-">checkCallbackName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;callbackName)</code>
<div class="block">Verifies that the callback property, if provided, is purely alphanumeric.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#doGet-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doGet</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
javax.servlet.http.HttpServletResponse&nbsp;response)</code>
<div class="block">Process a GET request for the specified resource.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#init--">init</a></span>()</code>
<div class="block">Initialize this servlet.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.servlet.http.HttpServlet">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;javax.servlet.http.HttpServlet</h3>
<code>doDelete, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.servlet.GenericServlet">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;javax.servlet.GenericServlet</h3>
<code>destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.129">LOG</a></pre>
</li>
</ul>
<a name="serialVersionUID">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serialVersionUID</h4>
<pre>private static final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.131">serialVersionUID</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.http.jmx.JMXJsonServlet.serialVersionUID">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CALLBACK_PARAM">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CALLBACK_PARAM</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.133">CALLBACK_PARAM</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.http.jmx.JMXJsonServlet.CALLBACK_PARAM">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INCLUDE_DESCRIPTION">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INCLUDE_DESCRIPTION</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.139">INCLUDE_DESCRIPTION</a></pre>
<div class="block">If query string includes 'description', then we will emit bean and attribute descriptions to
output IFF they are not null and IFF the description is not the same as the attribute name:
i.e. specify a URL like so: /jmx?description=true</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.http.jmx.JMXJsonServlet.INCLUDE_DESCRIPTION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="mBeanServer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mBeanServer</h4>
<pre>protected transient&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.144">mBeanServer</a></pre>
<div class="block">MBean server.</div>
</li>
</ul>
<a name="jsonBeanWriter">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>jsonBeanWriter</h4>
<pre>protected transient&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/JSONBean.html" title="class in org.apache.hadoop.hbase.util">JSONBean</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.146">jsonBeanWriter</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="JMXJsonServlet--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JMXJsonServlet</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.128">JMXJsonServlet</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="init--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.152">init</a>()
throws javax.servlet.ServletException</pre>
<div class="block">Initialize this servlet.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>init</code>&nbsp;in class&nbsp;<code>javax.servlet.GenericServlet</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code></dd>
</dl>
</li>
</ul>
<a name="doGet-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doGet</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.167">doGet</a>(javax.servlet.http.HttpServletRequest&nbsp;request,
javax.servlet.http.HttpServletResponse&nbsp;response)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Process a GET request for the specified resource.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>doGet</code>&nbsp;in class&nbsp;<code>javax.servlet.http.HttpServlet</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - The servlet request we are processing</dd>
<dd><code>response</code> - The servlet response we are creating</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="checkCallbackName-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>checkCallbackName</h4>
<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html#line.248">checkCallbackName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;callbackName)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Verifies that the callback property, if provided, is purely alphanumeric.
This prevents a malicious callback name (that is javascript code) from being
returned by the UI to an unsuspecting user.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>callbackName</code> - The callback name, can be null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The callback name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If the name is disallowed.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JMXJsonServlet.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.html" target="_top">Frames</a></li>
<li><a href="JMXJsonServlet.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>