mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-06 09:02:49 +08:00
269 lines
19 KiB
HTML
269 lines
19 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.management.remote
|
||
</div>
|
||
<h2 class="title" title="Class JMXConnectorServerFactory">Class JMXConnectorServerFactory</h2>
|
||
</div><div class="contentContainer">
|
||
<ul class="inheritance">
|
||
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li>javax.management.remote.JMXConnectorServerFactory</li>
|
||
</ul> </li>
|
||
</ul>
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre>public class <span class="typeNameLabel">JMXConnectorServerFactory</span>
|
||
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
|
||
<div class="block">
|
||
<p> <span>工厂创建JMX API连接器服务器。</span> <span>没有这个类的实例。</span> </p>
|
||
<p> <span>每个连接器服务器由<a href="../../../javax/management/remote/JMXConnectorServerProvider.html" title="javax.management.remote中的接口"><code>JMXConnectorServerProvider</code></a>的实例创建。</span> <span>这个实例如下。</span> <span>假设给定的<a href="../../../javax/management/remote/JMXServiceURL.html" title="javax.management.remote中的类"><code>JMXServiceURL</code></a>看起来像<code>"service:jmx:<em>protocol</em>:<em>remainder</em>"</code> 。</span> <span>然后工厂将尝试找到合适<a href="../../../javax/management/remote/JMXConnectorServerProvider.html" title="javax.management.remote中的接口"><code>JMXConnectorServerProvider</code></a>为<code><em>protocol</em></code> 。</span> <span><em>protocol</em>中的每个字符<code>+</code>或<code>-</code> <code><em>protocol</em></code>被<code>.</code>或<code>_</code>替代。</span> </p>
|
||
<p> <span>搜索<em>提供程序包列表</em>如下:</span> </p>
|
||
<ol>
|
||
<li> <span>如果<code>environment</code>参数为<a href="../../../javax/management/remote/JMXConnectorServerFactory.html#newJMXConnectorServer-javax.management.remote.JMXServiceURL-java.util.Map-javax.management.MBeanServer-"><code>newJMXConnectorServer</code></a>包含密钥<code>jmx.remote.protocol.provider.pkgs</code>则关联值为提供程序包列表。</span> </li>
|
||
<li> <span>否则,如果系统属性<code>jmx.remote.protocol.provider.pkgs</code>存在,则其值是提供程序包列表。</span> </li>
|
||
<li> <span>否则,没有提供程序包列表。</span> </li>
|
||
</ol>
|
||
<p> <span>提供程序包列表是一个字符串,被解释为由竖线分隔的非空Java包名称列表( <code>|</code> )。</span> <span>如果字符串为空,那么提供程序包列表也是如此。</span> <span>如果提供程序包列表不是字符串,或者它包含一个空字符串的元素,则会抛出一个<a href="../../../javax/management/remote/JMXProviderException.html" title="javax.management.remote中的类"><code>JMXProviderException</code></a> 。</span> </p>
|
||
<p> <span>如果提供程序包列表存在且不为空,则对于列表的每个元素<code><em>pkg</em></code> ,工厂将尝试加载类</span> </p>
|
||
<blockquote>
|
||
<span><code><em>pkg</em>.<em>protocol</em>.ServerProvider</code></span>
|
||
</blockquote>
|
||
<p> <span>如果<code>environment</code>参数为<a href="../../../javax/management/remote/JMXConnectorServerFactory.html#newJMXConnectorServer-javax.management.remote.JMXServiceURL-java.util.Map-javax.management.MBeanServer-"><code>newJMXConnectorServer</code></a>包含密钥<code>jmx.remote.protocol.provider.class.loader</code>则相关联的值是用于加载提供程序的类加载器。</span> <span>如果关联的值不是一个实例<a href="../../../java/lang/ClassLoader.html" title="java.lang中的类"><code>ClassLoader</code></a> ,一个<a href="../../../java/lang/IllegalArgumentException.html" title="java.lang中的类"><code>IllegalArgumentException</code></a>被抛出。</span> </p>
|
||
<p> <span>如果<code>jmx.remote.protocol.provider.class.loader</code>关键是不存在<code>environment</code>参数,则使用调用线程的上下文类加载器。</span> </p>
|
||
<p> <span>如果加载此类的尝试产生一个<a href="../../../java/lang/ClassNotFoundException.html" title="java.lang中的类"><code>ClassNotFoundException</code></a> ,搜索一个处理程序将继续列表的下一个元素。</span> </p>
|
||
<p> <span>否则,发现提供商的问题由<a href="../../../javax/management/remote/JMXProviderException.html" title="javax.management.remote中的类"><code>JMXProviderException</code></a>发出,其<a href="../../../javax/management/remote/JMXProviderException.html#getCause--"><code><em>cause</em></code></a>表示基础异常,如下所示:</span> </p>
|
||
<ul>
|
||
<li> <span>如果加载类的尝试产生除<code>ClassNotFoundException</code>之外的<code>ClassNotFoundException</code> ,那就是<em>原因</em> ;</span> </li>
|
||
<li> <span>如果<a href="../../../java/lang/Class.html#newInstance--"><code>Class.newInstance()</code></a>为该类产生异常,那就是<em>原因</em> 。</span> </li>
|
||
</ul>
|
||
<p> <span>如果没有提供者通过上述步骤找到,包括没有提供程序包列表的默认情况,那么实现将使用自己的提供程序为<code><em>protocol</em></code> ,否则将抛出<code>MalformedURLException</code>如果没有)。</span> <span>实施可以选择通过其他方式查找提供商。</span> <span>例如,它可以支持<a href="../../../../technotes/guides/jar/jar.html#Service Provider">JAR conventions for service providers</a> ,其中服务接口是<code>JMXConnectorServerProvider</code> 。</span> </p>
|
||
<p> <span>每个实现必须支持具有默认RMI传输的RMI连接器协议,用串<code>rmi</code> 。</span> <span>实现可以可选地支持具有用串<code>iiop</code>的RMI / IIOP传输的RMI连接器协议。</span> </p>
|
||
<p> <span>一旦找到提供商, <code>newJMXConnectorServer</code>方法的结果是在提供商上调用<a href="../../../javax/management/remote/JMXConnectorServerProvider.html#newJMXConnectorServer-javax.management.remote.JMXServiceURL-java.util.Map-javax.management.MBeanServer-"><code>newJMXConnectorServer</code></a>的结果。</span> </p>
|
||
<p> <span>该<code>Map</code>传递给参数<code>JMXConnectorServerProvider</code>是一个新的只读<code>Map</code>包含所有均在条目<code>environment</code>参数<a href="../../../javax/management/remote/JMXConnectorServerFactory.html#newJMXConnectorServer-javax.management.remote.JMXServiceURL-java.util.Map-javax.management.MBeanServer-"><code>JMXConnectorServerFactory.newJMXConnectorServer</code></a> ,如果有一个。</span> <span>此外,如果<code>jmx.remote.protocol.provider.class.loader</code>关键是不存在<code>environment</code>参数,它被添加到新的只读<code>Map</code> 。</span> <span>关联的值是调用线程的上下文类加载器。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.5
|
||
</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 border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
|
||
<caption>
|
||
<span>Fields</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<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>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServerFactory.html#DEFAULT_CLASS_LOADER">DEFAULT_CLASS_LOADER</a></span></code>
|
||
<div class="block">
|
||
指定默认类加载器的属性的名称。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServerFactory.html#DEFAULT_CLASS_LOADER_NAME">DEFAULT_CLASS_LOADER_NAME</a></span></code>
|
||
<div class="block">
|
||
指定默认类加载器MBean名称的属性的名称。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServerFactory.html#PROTOCOL_PROVIDER_CLASS_LOADER">PROTOCOL_PROVIDER_CLASS_LOADER</a></span></code>
|
||
<div class="block">
|
||
指定加载协议提供程序的类加载器的属性的名称。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServerFactory.html#PROTOCOL_PROVIDER_PACKAGES">PROTOCOL_PROVIDER_PACKAGES</a></span></code>
|
||
<div class="block">
|
||
指定在查找协议的处理程序时查询的提供程序包的属性的名称。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t1"><span><a href="javascript:show(1);">静态方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<td class="colFirst"><code>static <a href="../../../javax/management/remote/JMXConnectorServer.html" title="class in javax.management.remote">JMXConnectorServer</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServerFactory.html#newJMXConnectorServer-javax.management.remote.JMXServiceURL-java.util.Map-javax.management.MBeanServer-">newJMXConnectorServer</a></span>(<a href="../../../javax/management/remote/JMXServiceURL.html" title="class in javax.management.remote">JMXServiceURL</a> serviceURL, <a href="../../../java/util/Map.html" title="interface in java.util">Map</a><<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,?> environment, <a href="../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> mbeanServer)</code>
|
||
<div class="block">
|
||
在给定的地址创建一个连接器服务器。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
|
||
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">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>字段详细信息</h3> <a name="DEFAULT_CLASS_LOADER">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>DEFAULT_CLASS_LOADER</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> DEFAULT_CLASS_LOADER</pre>
|
||
<div class="block">
|
||
<p> <span>指定默认类加载器的属性的名称。</span> <span>此类加载器用于在从客户端接收的请求中对对象进行反序列化,可能在咨询了MBean特定类加载器之后。</span> <span>与此属性关联的值是一个实例<a href="../../../java/lang/ClassLoader.html" title="java.lang中的类"><code>ClassLoader</code></a> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../constant-values.html#javax.management.remote.JMXConnectorServerFactory.DEFAULT_CLASS_LOADER">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="DEFAULT_CLASS_LOADER_NAME">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>DEFAULT_CLASS_LOADER_NAME</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> DEFAULT_CLASS_LOADER_NAME</pre>
|
||
<div class="block">
|
||
<p> <span>指定默认类加载器MBean名称的属性的名称。</span> <span>此类加载器用于在从客户端接收的请求中对对象进行反序列化,可能在咨询了MBean特定类加载器之后。</span> <span>与此属性关联的值是一个实例<a href="../../../javax/management/ObjectName.html" title="javax.management中的类"><code>ObjectName</code></a> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../constant-values.html#javax.management.remote.JMXConnectorServerFactory.DEFAULT_CLASS_LOADER_NAME">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="PROTOCOL_PROVIDER_PACKAGES">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>PROTOCOL_PROVIDER_PACKAGES</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> PROTOCOL_PROVIDER_PACKAGES</pre>
|
||
<div class="block">
|
||
<p> <span>指定在查找协议的处理程序时查询的提供程序包的属性的名称。</span> <span>与此属性相关联的值是一个包含名称由竖线分隔的字符串( <code>|</code> )。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../constant-values.html#javax.management.remote.JMXConnectorServerFactory.PROTOCOL_PROVIDER_PACKAGES">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="PROTOCOL_PROVIDER_CLASS_LOADER">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>PROTOCOL_PROVIDER_CLASS_LOADER</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> PROTOCOL_PROVIDER_CLASS_LOADER</pre>
|
||
<div class="block">
|
||
<p> <span>指定加载协议提供程序的类加载器的属性的名称。</span> <span>与此属性关联的值是一个实例<a href="../../../java/lang/ClassLoader.html" title="java.lang中的类"><code>ClassLoader</code></a> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../constant-values.html#javax.management.remote.JMXConnectorServerFactory.PROTOCOL_PROVIDER_CLASS_LOADER">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="newJMXConnectorServer-javax.management.remote.JMXServiceURL-java.util.Map-javax.management.MBeanServer-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>newJMXConnectorServer</h4> <pre>public static <a href="../../../javax/management/remote/JMXConnectorServer.html" title="class in javax.management.remote">JMXConnectorServer</a> newJMXConnectorServer(<a href="../../../javax/management/remote/JMXServiceURL.html" title="class in javax.management.remote">JMXServiceURL</a> serviceURL,
|
||
<a href="../../../java/util/Map.html" title="interface in java.util">Map</a><<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,?> environment,
|
||
<a href="../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> mbeanServer)
|
||
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
|
||
<div class="block">
|
||
<p> <span>在给定的地址创建一个连接器服务器。</span> <span>在调用<a href="../../../javax/management/remote/JMXConnectorServerMBean.html#start--"><code>start</code></a>方法之前,不会启动结果服务器。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>serviceURL</code> - 新连接器服务器的地址。</span>
|
||
<span>由其<a href="../../../javax/management/remote/JMXConnectorServerMBean.html#getAddress--"><code>getAddress</code></a>方法返回的新连接器服务器的实际地址不一定完全相同。</span>
|
||
<span>例如,如果原始地址没有,它可能包含端口号。</span>
|
||
</dd>
|
||
<dd>
|
||
<span><code>environment</code> - 一组属性来控制新的连接器服务器的行为。</span>
|
||
<span>此参数可以为null。</span>
|
||
<span>此地图中的键必须是字符串。</span>
|
||
<span>每个关联值的适当类型取决于属性。</span>
|
||
<span><code>environment</code>的内容不会被此呼叫更改。</span>
|
||
</dd>
|
||
<dd>
|
||
<span><code>mbeanServer</code> - 此连接器服务器连接到的MBean服务器。</span>
|
||
<span>如果此连接器服务器将通过注册到MBean服务器,则为空。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>一个<code>JMXConnectorServer</code>新连接器服务器的JMXConnectorServer。</span>
|
||
<span>每次成功调用此方法都会产生不同的对象。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>serviceURL</code>为空。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果连接器服务器由于通信问题而无法制作。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/net/MalformedURLException.html" title="class in java.net">MalformedURLException</a></code> - 如果在
|
||
<code>serviceURL</code>中没有协议的提供者。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../javax/management/remote/JMXProviderException.html" title="class in javax.management.remote">JMXProviderException</a></code> -如果在协议供应商
|
||
<code>serviceURL</code> ,但它不能用于某些原因。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |