- 所有已实现的接口:
Closeable
,Serializable
,AutoCloseable
,JMXAddressable
,JMXConnector
与远程 RMI 连接器的连接。通常,此类连接是使用 JMXConnectorFactory
建立的。但是,专门的应用程序可以直接使用此类,例如使用无需通过 JNDI 获得的 RMIServer
存根。
- 自从:
- 1.5
- 参见:
-
字段摘要
在接口 javax.management.remote.JMXConnector 中声明的字段
CREDENTIALS
-
构造方法总结
构造方法构造方法描述RMIConnector
(JMXServiceURL url, Map<String, ?> environment) 构造一个RMIConnector
,它将使用给定地址连接 RMI 连接器服务。RMIConnector
(RMIServer rmiServer, Map<String, ?> environment) 使用给定的 RMI 存根构造一个RMIConnector
。 -
方法总结
修饰符和类型方法描述void
addConnectionNotificationListener
(NotificationListener listener, NotificationFilter filter, Object handback) 添加一个监听以通知连接状态的更改。void
close()
关闭客户端与其服务的连接。void
connect()
建立与连接器服务的连接。void
建立与连接器服务的连接。此连接器的地址。从连接器服务获取此连接的 ID。返回代表远程 MBean 服务的MBeanServerConnection
对象。getMBeanServerConnection
(Subject delegationSubject) 返回代表远程 MBean 服务的MBeanServerConnection
对象,代表提供的委托主题在该服务上执行操作。void
从列表中删除监听以通知状态更改。void
removeConnectionNotificationListener
(NotificationListener listener, NotificationFilter filter, Object handback) 从列表中删除监听以通知状态更改。toString()
返回此对象的字符串表示形式。
-
构造方法详细信息
-
RMIConnector
构造一个
RMIConnector
,它将使用给定地址连接 RMI 连接器服务。该地址可以使用以下语法直接引用连接器服务:
service:jmx:rmi://[host[:port]] /stub/encoded-stub
(这里,方括号
[]
不是地址的一部分,但表示主机和端口是可选的。)该地址可以使用以下语法指示通过 JNDI 在何处查找 RMI 存根:
service:jmx:rmi://[host[:port]] /jndi/jndi-name
一个实现也可以识别额外的地址语法,例如:
service:jmx:iiop://[host[:port]] /stub/encoded-stub
- 参数:
url
- RMI 连接器服务的地址。environment
- 指定如何建立连接的附加属性。对于基于 JNDI 的地址,这些属性可以有用地包含InitialContext
识别的 JNDI 属性。该参数可以为null,相当于一个空的Map。- 抛出:
IllegalArgumentException
- 如果url
为空。
-
RMIConnector
使用给定的 RMI 存根构造一个
RMIConnector
。- 参数:
rmiServer
- 代表 RMI 连接器服务的 RMI 存根。environment
- 指定如何建立连接的附加属性。该参数可以为null,相当于一个空的Map。- 抛出:
IllegalArgumentException
- 如果rmiServer
为空。
-
-
方法详情
-
toString
返回此对象的字符串表示形式。通常,
toString
方法返回一个“文本表示”此对象的字符串。结果应该是简洁但信息丰富的表示形式,易于人们阅读。 -
getAddress
此连接器的地址。
- 指定者:
getAddress
在接口JMXAddressable
中- 返回:
- 此连接器的地址,如果没有则为 null。
- 自从:
- 1.6
-
connect
从接口JMXConnector
复制的描述建立与连接器服务的连接。此方法等效于
connect(null)
。- 指定者:
connect
在接口JMXConnector
中- 抛出:
IOException
- 如果由于通信问题无法建立连接
-
connect
从接口JMXConnector
复制的描述建立与连接器服务的连接。
如果
connect
已在此对象上成功调用,则再次调用它没有任何效果。但是,如果在connect
之后调用了JMXConnector.close()
,则新的connect
将抛出IOException
。否则,要么
connect
从未在此对象上调用过,要么已被调用但产生了异常。然后调用connect
将尝试与连接器服务建立连接。- 指定者:
connect
在接口JMXConnector
中- 参数:
environment
- 连接的属性。此map中的属性会覆盖创建JMXConnector
时指定的map中的属性(如果有)。该参数可以为null,相当于一个空的map。- 抛出:
IOException
- 如果由于通信问题无法建立连接
-
getConnectionId
从接口JMXConnector
复制的描述从连接器服务获取此连接的 ID。对于给定的连接器服务,每个连接都有一个唯一的 ID,该 ID 在连接的生命周期内不会改变。
- 指定者:
getConnectionId
在接口JMXConnector
中- 返回:
-
此连接的唯一 ID。这与连接器服务在其
JMXConnectionNotification
中包含的 ID 相同。package description
描述了连接 ID 的约定。 - 抛出:
IOException
- 如果无法获取连接 ID,例如因为连接已关闭或断开。
-
getMBeanServerConnection
从接口JMXConnector
复制的描述返回代表远程 MBean 服务的
MBeanServerConnection
对象。对于给定的JMXConnector
,两次成功调用此方法通常会返回相同的MBeanServerConnection
对象,但这不是必需的。对于返回的
MBeanServerConnection
中的每个方法,调用该方法会导致在远程 MBean 服务中调用相应的方法。 MBean 服务方法返回的值是返回给客户端的值。如果 MBean 服务方法生成Exception
,则客户端会看到相同的Exception
。如果 MBean 服务方法或调用它的尝试生成一个Error
,则Error
被包装在一个JMXServerErrorException
中,客户端可以看到。调用此方法等同于调用
getMBeanServerConnection(null)
,这意味着没有指定委托主题,并且在MBeanServerConnection
上调用的所有操作都必须使用经过身份验证的主题(如果有)。- 指定者:
getMBeanServerConnection
在接口JMXConnector
中- 返回:
-
通过将其方法转发到远程 MBean 服务来实现
MBeanServerConnection
接口的对象。 - 抛出:
IOException
- 如果无法创建有效的MBeanServerConnection
,例如因为尚未建立与远程 MBean 服务的连接(使用connect
方法),或者它已关闭,或者已断开。
-
getMBeanServerConnection
从接口JMXConnector
复制的描述返回代表远程 MBean 服务的
MBeanServerConnection
对象,代表提供的委托主题在该服务上执行操作。对于给定的JMXConnector
和Subject
,两次成功调用此方法通常会返回相同的MBeanServerConnection
对象,但这不是必需的。对于返回的
MBeanServerConnection
中的每个方法,调用该方法会导致在远程 MBean 服务中代表给定的委托主题而不是经过身份验证的主题调用相应的方法。 MBean 服务方法返回的值是返回给客户端的值。如果 MBean 服务方法生成Exception
,则客户端会看到相同的Exception
。如果 MBean 服务方法或调用它的尝试生成一个Error
,则Error
被包装在一个JMXServerErrorException
中,客户端可以看到。- 指定者:
getMBeanServerConnection
在接口JMXConnector
中- 参数:
delegationSubject
- 将代表执行请求的Subject
。可以为空,在这种情况下,将代表经过身份验证的主题执行请求(如果有)。- 返回:
-
一个对象,它通过代表给定的委托主题将其方法转发到远程 MBean 服务来实现
MBeanServerConnection
接口。 - 抛出:
IOException
- 如果无法创建有效的MBeanServerConnection
,例如因为尚未建立与远程 MBean 服务的连接(使用connect
方法),或者它已关闭,或者已断开。
-
addConnectionNotificationListener
public void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) 从接口JMXConnector
复制的描述添加一个监听器以通知连接状态的更改。监听器将收到
JMXConnectionNotification
类型的通知。实现也可以发送其他类型的通知。可以使用此方法添加任意数量的监听器。可以多次添加相同的监听器,使用相同或不同的过滤器和交接值。没有对重复条目的特殊处理。例如,如果一个监听器在没有过滤器的情况下注册了两次,那么它的
handleNotification
方法将为每个通知调用两次。- 指定者:
addConnectionNotificationListener
在接口JMXConnector
中- 参数:
listener
- 接收连接状态通知的监听器。filter
- 一个过滤器,用于选择要将哪些通知传递给监听器,如果要传递所有通知,则为 null。handback
- 随每个通知一起提供给监听器的对象。可以为空。- 参见:
-
removeConnectionNotificationListener
public void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException 从接口JMXConnector
复制的描述从列表中删除监听以通知状态更改。之前必须添加监听。如果有多个匹配的监听,则全部删除。
- 指定者:
removeConnectionNotificationListener
在接口JMXConnector
中- 参数:
listener
- 接收连接状态通知的监听器。- 抛出:
ListenerNotFoundException
- 如果监听器未注册到此JMXConnector
。- 参见:
-
removeConnectionNotificationListener
public void removeConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException 从接口JMXConnector
复制的描述从列表中删除监听以通知状态更改。之前必须使用相同的三个参数添加监听。如果有多个匹配的监听,则只删除一个。
- 指定者:
removeConnectionNotificationListener
在接口JMXConnector
中- 参数:
listener
- 接收连接状态通知的监听器。filter
- 一个过滤器,用于选择要将哪些通知传递给监听器。可以为空。handback
- 随每个通知一起提供给监听器的对象。可以为空。- 抛出:
ListenerNotFoundException
- 如果监听器没有注册到这个JMXConnector
,或者没有注册到给定的过滤器和 handback。- 参见:
-
close
从接口JMXConnector
复制的描述关闭客户端与其服务的连接。使用
JMXConnector.getMBeanServerConnection()
返回的 MBeanServerConnection 的任何正在进行的或新的请求都将获得IOException
。如果
close
已在此对象上成功调用,则再次调用它没有任何效果。如果close
从未被调用过,或者如果它被调用但产生异常,将尝试关闭连接。此尝试可以成功,在这种情况下close
将正常返回,或者它可以生成异常。关闭连接是一个可能很慢的操作。例如,如果服务崩溃,关闭操作可能必须等待网络协议超时。不想阻塞关闭操作的调用者应该在单独的线程中执行。
- 指定者:
close
在接口AutoCloseable
中- 指定者:
close
在接口Closeable
中- 指定者:
close
在接口JMXConnector
中- 抛出:
IOException
- 如果无法干净地关闭连接。如果抛出此异常,则不知道连接的服务端是否已干净关闭。
-