- java.lang.Object
-  
      - javax.management.NotificationBroadcasterSupport
-  
        - javax.management.remote.JMXConnectorServer
-  
          - javax.management.remote.rmi.RMIConnectorServer
 
 
 
-  
       - 实现的所有接口
-  
         MBeanRegistration,NotificationBroadcaster,NotificationEmitter,JMXAddressable,JMXConnectorServerMBean
 
 public class RMIConnectorServer extends JMXConnectorServer JMX API连接器服务器,用于从远程客户端创建基于RMI的连接。 通常,此类连接器服务器使用 JMXConnectorServerFactory制造 。 但是,专门的应用程序可以直接使用此类,例如使用RMIServerImpl对象。- 从以下版本开始:
- 1.5
 
-  
        
       -  
             字段汇总字段 变量和类型 字段 描述 static StringCREDENTIAL_TYPES不推荐使用,要删除:此API元素将在以后的版本中删除。static StringCREDENTIALS_FILTER_PATTERN指定ObjectInputFilter模式字符串的属性的名称,以过滤RMIServer.newClient()远程方法调用可接受的类。static StringJNDI_REBIND_ATTRIBUTE指定代表RMI连接器服务器的RMIServer存根是否应覆盖同一地址的现有存根的属性的名称。static StringRMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE为此连接器创建的RMI对象指定RMIClientSocketFactory的属性的名称。static StringRMI_SERVER_SOCKET_FACTORY_ATTRIBUTE为此连接器创建的RMI对象指定RMIServerSocketFactory的属性的名称。static StringSERIAL_FILTER_PATTERN此属性定义一个模式,用于创建ObjectInputFilter,在反序列化任何客户端发送到JMXConnectorServer的对象时将使用该JMXConnectorServer。-  
               声明的属性在类 javax.management.remote.JMXConnectorServerAUTHENTICATOR
 
-  
               
 -  
             构造方法摘要构造方法 构造器 描述 RMIConnectorServer(JMXServiceURL url, Map<String,?> environment)制作一个RMIConnectorServer。RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, MBeanServer mbeanServer)为给定的MBean服务器创建RMIConnectorServer。RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, RMIServerImpl rmiServerImpl, MBeanServer mbeanServer)为给定的MBean服务器创建RMIConnectorServer。
 -  
             方法摘要所有方法 实例方法 具体的方法 变量和类型 方法 描述 voidstart()激活连接器服务器,即开始侦听客户端连接。voidstop()停用连接器服务器,即停止侦听客户端连接。JMXConnectortoJMXConnector(Map<String,?> env)返回此连接器服务器的客户端存根。-  
               声明方法的类 javax.management.remote.JMXConnectorServerconnectionClosed, connectionFailed, connectionOpened, getMBeanServer, getNotificationInfo, preDeregister, preRegister
 -  
               声明方法的类 javax.management.NotificationBroadcasterSupportaddNotificationListener, handleNotification, sendNotification
 -  
               声明方法的类 java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 -  
               声明方法的接口 javax.management.remote.JMXAddressablegetAddress
 -  
               声明方法的接口 javax.management.remote.JMXConnectorServerMBeangetAddress, getAttributes, getConnectionIds, isActive, setMBeanServerForwarder
 -  
               声明方法的接口 javax.management.MBeanRegistrationpostDeregister, postRegister
 -  
               声明方法的接口 javax.management.NotificationBroadcasterremoveNotificationListener
 -  
               声明方法的接口 javax.management.NotificationEmitterremoveNotificationListener
 
-  
               
 
-  
             
-  
        
       -  
             字段详细信息-  JNDI_REBIND_ATTRIBUTEpublic static final String JNDI_REBIND_ATTRIBUTE 指定代表RMI连接器服务器的 RMIServer存根是否应覆盖同一地址的现有存根的属性的名称。 与此属性关联的值(如果有)应该是相等的字符串,忽略大小写,为"true"或"false"。 默认值为false。- 另请参见:
- 常数字段值
 
 -  RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTEpublic static final String RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE 为此连接器创建的RMI对象指定 RMIClientSocketFactory的属性的名称。 与此属性关联的值必须为RMIClientSocketFactory类型,并且只能在创建连接器服务器时提供的Map参数中指定。- 另请参见:
- 常数字段值
 
 -  RMI_SERVER_SOCKET_FACTORY_ATTRIBUTEpublic static final String RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE 为此连接器创建的RMI对象指定 RMIServerSocketFactory的属性的名称。 与此属性关联的值必须为RMIServerSocketFactory类型,并且只能在创建连接器服务器时提供的Map参数中指定。- 另请参见:
- 常数字段值
 
 -  CREDENTIAL_TYPES@Deprecated(since="10", forRemoval=true) public static final String CREDENTIAL_TYPES Deprecated, for removal: This API element is subject to removal in a future version.UseCREDENTIALS_FILTER_PATTERNwith a filter pattern string instead.指定可作为RMIServer.newClient()远程方法调用的参数接受的类名列表的属性的名称。此类列表应对应于与RMIServer实现关联的已安装JMXAuthenticator使用的凭证类(或多个类)的传递闭包。 如果未设置该属性,或者为null,则认为任何类都是可接受的。 - 另请参见:
- 常数字段值
 
 -  CREDENTIALS_FILTER_PATTERNpublic static final String CREDENTIALS_FILTER_PATTERN 指定ObjectInputFilter模式字符串的属性的名称,以过滤RMIServer.newClient()远程方法调用可接受的类。过滤器模式必须与 ObjectInputFilter.Config.createFilter(java.lang.String)中使用的格式相同过滤器允许的此类列表应对应于与RMIServer实现关联的已安装JMXAuthenticator使用的凭证类(或多个类)的传递闭包。 如果未设置该属性,则认为任何类都是可接受的。 - 另请参见:
-  
              ObjectInputFilter, 常数字段值
 
 -  SERIAL_FILTER_PATTERNpublic static final String SERIAL_FILTER_PATTERN 此属性定义一个模式,用于创建ObjectInputFilter,在反序列化任何客户端发送到JMXConnectorServer的对象时将使用该JMXConnectorServer。将为客户端发送到服务器的序列化流中找到的任何类调用过滤器,包括所有JMX定义的类(例如 ObjectName),所有方法参数,以及(如果存在于流中)串行表单传递的所有类任何反序列化的对象。 模式必须与ObjectInputFilter.Config.createFilter(java.lang.String)中使用的格式相同。 它可以定义允许类的白名单,被拒绝类的黑名单,反序列化对象的最大深度等。为了起作用,在序列化 RMIConnection接口中作为参数引用的所有JMX类时,过滤器应至少允许所有可能被序列化的对象的传递闭包中的所有具体类型,以及client可能需要传输的所有类。 marshalled objects ,以便与在已注册的MBean进行互操作MBeanServer。 这可能包括所有具体的JMX OpenTypes以及他们以串行形式使用的类。在定义这样的过滤器时必须小心,因为定义白名单限制性太强或黑名单太宽可能会阻止合法客户端与 JMXConnectorServer互操作。- 另请参见:
- 常数字段值
 
 
-  
 -  
             构造方法详细信息-  RMIConnectorServerpublic RMIConnectorServer(JMXServiceURL url, Map<String,?> environment) throws IOException 制作 RMIConnectorServer。 这相当于致电RMIConnectorServer(directoryURL,environment,null,null)- 参数
-  
              url- 定义如何创建连接器服务器的URL。 不能为空。
-  
              environment- 管理RMI对象的创建和存储的属性。 可以为null,相当于一个空Map。
- 异常
-  
              IllegalArgumentException- 如果url为空。
-  
              MalformedURLException- 如果url不符合RMI连接器的语法,或者此实现无法识别其协议。 使用此构造函数时,只有“rmi”有效。
-  
              IOException- 如果由于某种原因无法创建连接器服务器,或者其start方法将不可避免地失败。
 
 -  RMIConnectorServerpublic RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, MBeanServer mbeanServer) throws IOException 为给定的MBean服务器创建 RMIConnectorServer。 这相当于拨打RMIConnectorServer(directoryURL,environment,null,mbeanServer)- 参数
-  
              url- 定义如何创建连接器服务器的URL。 不能为空。
-  
              environment- 管理RMI对象的创建和存储的属性。 可以为null,相当于一个空Map。
-  
              mbeanServer- 新连接器服务器所连接的MBean服务器,如果通过在MBean服务器中注册为MBean来附加它,则为null。
- 异常
-  
              IllegalArgumentException- 如果url为空。
-  
              MalformedURLException- 如果url不符合RMI连接器的语法,或者此实现无法识别其协议。 使用此构造函数时,只有“rmi”有效。
-  
              IOException- 如果由于某种原因无法创建连接器服务器,或者其start方法将不可避免地失败。
 
 -  RMIConnectorServerpublic RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, RMIServerImpl rmiServerImpl, MBeanServer mbeanServer) throws IOException 为给定的MBean服务器创建 RMIConnectorServer。- 参数
-  
              url- 定义如何创建连接器服务器的URL。 不能为空。
-  
              environment- 管理RMI对象的创建和存储的属性。 可以为null,相当于一个空Map。
-  
              rmiServerImpl- RMIServer接口的实现,与url中指定的协议类型一致。 如果此参数为非null,则url指定的协议类型不受约束,并且假定为有效。 否则,只会识别“rmi”。
-  
              mbeanServer- 新连接器服务器所连接的MBean服务器,如果通过在MBean服务器中注册为MBean来附加它,则为null。
- 异常
-  
              IllegalArgumentException- 如果url为空。
-  
              MalformedURLException- 如果url不符合RMI连接器的语法,或者此实现无法识别其协议。 当rmiServerImpl为null时,仅识别“rmi”。
-  
              IOException- 如果由于某种原因无法创建连接器服务器,或者其start方法不可避免地会失败。
- 另请参见:
-  
              start()
 
 
-  
 -  
             方法详细信息-  toJMXConnectorpublic JMXConnector toJMXConnector(Map<String,?> env) throws IOException 返回此连接器服务器的客户端存根。 客户端存根是一个可序列化的对象,其 connect方法可用于与此连接器服务器建立一个新连接。- Specified by:
-  
              toJMXConnector在界面JMXConnectorServerMBean
- 重写:
-  
              toJMXConnector类JMXConnectorServer
- 参数
-  
              env- 可提供给JMXConnector.connect(Map)的相同类型的客户端连接参数。 可以为null,相当于空映射。
- 结果
- 客户端存根,可用于与此连接器服务器建立新连接。
- 异常
-  
              UnsupportedOperationException- 如果此连接器服务器不支持生成客户端存根。
-  
              IllegalStateException- 如果未启动JMXConnectorServer(请参阅JMXConnectorServerMBean.isActive())。
-  
              IOException- 如果通信问题意味着无法创建存根。
 
 -  startpublic void start() throws IOException激活连接器服务器,即开始侦听客户端连接。 连接器服务器已处于活动状态时调用此方法无效。 在连接器服务器停止时调用此方法将生成 IOException。第一次调用时此方法的行为取决于构造时提供的参数,如下所述。 首先,需要子类 RMIServerImpl的对象,以通过RMI导出连接器服务器:-  如果为构造函数提供了RMIServerImpl,则使用它。
-  否则,如果JMXServiceURL为空,或它的协议的部分是rmi,类型的对象RMIJRMPServerImpl被创建。
-  否则,实现可以创建特定于实现的RMIServerImpl,也可以抛出MalformedURLException。
 如果给定地址包含 javax.management.remote.rmi的软件包文档中指定的JNDI目录URL,则此RMIConnectorServer将通过将RMIServerImpl绑定到给定地址来引导。如果 JMXServiceURL的URL路径部分为空或单斜杠(/),则RMI对象将不会绑定到目录。 相反,对它的引用将编码在RMIConnectorServer地址的URL路径中(由JMXConnectorServerMBean.getAddress()返回)。 用于编码rmi在封装文档中所描述javax.management.remote.rmi。URL路径既不为空也不是JNDI目录URL或协议不是 rmi时的rmi是实现定义的,可能包括在创建连接器服务器时或启动时抛出MalformedURLException。- 异常
-  
              IllegalStateException- 如果连接器服务器尚未连接到MBean服务器。
-  
              IOException- 如果无法启动连接器服务器。
 
-  如果为构造函数提供了
 -  stoppublic void stop() throws IOException停用连接器服务器,即停止侦听客户端连接。 调用此方法还将关闭此服务器所做的所有客户端连接。 在此方法返回后,无论是正常还是异常,连接器服务器都不会创建任何新的客户端连接。 连接器服务器停止后,无法再次启动。 连接器服务器已停止时调用此方法无效。 在尚未启动连接器服务器时调用此方法将永久禁用连接器服务器对象。 如果关闭客户端连接会产生异常,则不会从此方法抛出该异常。 从此MBean发出 JMXConnectionNotification,其连接ID无法关闭。关闭连接器服务器可能会很慢。 例如,如果具有打开连接的客户端计算机已崩溃,则关闭操作可能必须等待网络协议超时。 不希望在关闭操作中阻塞的调用者应该在单独的线程中执行。 此方法调用连接器服务器的 RMIServerImpl对象上的方法close。如果 RMIServerImpl通过start方法绑定到JNDI目录,则通过此方法从目录中解除绑定。- 异常
-  
              IOException- 如果服务器无法干净地关闭,或者RMIServerImpl无法从目录中解除绑定。 抛出此异常时,服务器已尝试关闭所有客户端连接(如果适用); 致电RMIServerImpl.close(); 如果合适,从目录中取消绑定RMIServerImpl。 所有客户端连接都将关闭,但可能是那些在服务器尝试关闭它们时生成异常的连接。
 
 
-  
 
-