- 所有已实现的接口:
Closeable
,AutoCloseable
,Remote
,Unreferenced
,RMIConnection
RMIConnection
接口的实现。用户代码通常不会引用此类。
- 自从:
- 1.5
-
构造方法总结
构造方法构造方法描述RMIConnectionImpl
(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String, ?> env) 构造一个新的RMIConnection
. -
方法总结
修饰符和类型方法描述void
addNotificationListener
(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) Integer[]
addNotificationListeners
(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects) void
close()
关闭此连接。createMBean
(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject) createMBean
(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject) createMBean
(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) createMBean
(String className, ObjectName name, Subject delegationSubject) fetchNotifications
(long clientSequenceNumber, int maxNotifications, long timeout) 从连接器服务检索通知。getAttribute
(ObjectName name, String attribute, Subject delegationSubject) getAttributes
(ObjectName name, String[] attributes, Subject delegationSubject) 返回连接 ID。getDefaultDomain
(Subject delegationSubject) String[]
getDomains
(Subject delegationSubject) getMBeanCount
(Subject delegationSubject) getMBeanInfo
(ObjectName name, Subject delegationSubject) getObjectInstance
(ObjectName name, Subject delegationSubject) invoke
(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject) boolean
isInstanceOf
(ObjectName name, String className, Subject delegationSubject) boolean
isRegistered
(ObjectName name, Subject delegationSubject) queryMBeans
(ObjectName name, MarshalledObject query, Subject delegationSubject) queryNames
(ObjectName name, MarshalledObject query, Subject delegationSubject) void
removeNotificationListener
(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) void
removeNotificationListener
(ObjectName name, ObjectName listener, Subject delegationSubject) void
removeNotificationListeners
(ObjectName name, Integer[] listenerIDs, Subject delegationSubject) void
setAttribute
(ObjectName name, MarshalledObject attribute, Subject delegationSubject) setAttributes
(ObjectName name, MarshalledObject attributes, Subject delegationSubject) toString()
返回此对象的字符串表示形式。void
在运行时确定引用列表(引用远程对象的客户端列表)变为空后的某个时间由 RMI 运行时调用。void
unregisterMBean
(ObjectName name, Subject delegationSubject)
-
构造方法详细信息
-
RMIConnectionImpl
public RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map <String , ?> env) 构造一个新的RMIConnection
。此连接可与 JRMP 传输一起使用。该对象不导出自身:调用者有责任适当地导出它(参见RMIJRMPServerImpl.makeClient(String,Subject)
)。- 参数:
rmiServer
- 为其创建此连接的 RMIServerImpl 对象。如果此参数为空,则行为未指定。connectionId
- 此连接的 ID。如果此参数为空,则行为未指定。defaultClassLoader
- 反序列化编组对象时使用的默认 ClassLoader。可以为空,表示引导类加载器。subject
- 用于授权的经过身份验证的主体。可以为空,表示没有主题已通过身份验证。env
- 包含新RMIServerImpl
属性的环境。可以为null,相当于一个空的map。
-
-
方法详情
-
getConnectionId
从接口RMIConnection
复制的描述返回连接 ID。对于给定 RMI 连接器服务的每个打开连接,此字符串都不同。
- 指定者:
getConnectionId
在接口RMIConnection
中- 返回:
- 连接 ID
- 抛出:
IOException
- 如果发生一般通信异常。- 参见:
-
close
从接口RMIConnection
复制的描述关闭此连接。从此方法返回时,实现此接口的 RMI 对象未导出,因此对其的进一步远程调用将失败。
- 指定者:
close
在接口AutoCloseable
中- 指定者:
close
在接口Closeable
中- 指定者:
close
在接口RMIConnection
中- 抛出:
IOException
- 如果无法关闭连接,或者无法取消导出远程对象,或者在传输远程关闭请求时出现通信故障。
-
unreferenced
public void unreferenced()从接口Unreferenced
复制的描述在运行时确定引用列表(引用远程对象的客户端列表)变为空后的某个时间由 RMI 运行时调用。- 指定者:
unreferenced
在接口Unreferenced
中
-
createMBean
public ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException , InstanceAlreadyExistsException , MBeanRegistrationException , MBeanException , NotCompliantMBeanException , IOException 从接口RMIConnection
复制的描述- 指定者:
createMBean
在接口RMIConnection
中- 参数:
className
- 要实例化的 MBean 的类名。name
- MBean 的对象名称。可能为空。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
-
一个
ObjectInstance
,包含ObjectName
和新实例化的 MBean 的 Java 类名。如果包含的ObjectName
是n
,则包含的 Java 类名称是
。getMBeanInfo(n)
.getClassName() - 抛出:
ReflectionException
- 包装在尝试调用 MBean 的构造函数时发生的java.lang.ClassNotFoundException
或java.lang.Exception
。InstanceAlreadyExistsException
- MBean 已在 MBean 服务的控制之下。MBeanRegistrationException
- MBean 的preRegister
(MBeanRegistration
接口)方法抛出异常。 MBean 将不会被注册。MBeanException
- MBean 的构造函数引发了异常。NotCompliantMBeanException
- 此类不是 JMX 兼容的 MBean。IOException
- 如果发生一般通信异常。
-
createMBean
public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) throws ReflectionException , InstanceAlreadyExistsException , MBeanRegistrationException , MBeanException , NotCompliantMBeanException , InstanceNotFoundException , IOException 从接口RMIConnection
复制的描述- 指定者:
createMBean
在接口RMIConnection
中- 参数:
className
- 要实例化的 MBean 的类名。name
- MBean 的对象名称。可能为空。loaderName
- 要使用的类加载器的对象名称。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
-
一个
ObjectInstance
,包含ObjectName
和新实例化的 MBean 的 Java 类名。如果包含的ObjectName
是n
,则包含的 Java 类名称是
。getMBeanInfo(n)
.getClassName() - 抛出:
ReflectionException
- 包装在尝试调用 MBean 的构造函数时发生的java.lang.ClassNotFoundException
或java.lang.Exception
。InstanceAlreadyExistsException
- MBean 已在 MBean 服务的控制之下。MBeanRegistrationException
- MBean 的preRegister
(MBeanRegistration
接口)方法抛出异常。 MBean 将不会被注册。MBeanException
- MBean 的构造函数引发了异常。NotCompliantMBeanException
- 此类不是 JMX 兼容的 MBean。InstanceNotFoundException
- 指定的类加载器未在 MBean 服务中注册。IOException
- 如果发生一般通信异常。
-
createMBean
public ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String [] signature, Subject delegationSubject) throws ReflectionException , InstanceAlreadyExistsException , MBeanRegistrationException , MBeanException , NotCompliantMBeanException , IOException 从接口RMIConnection
复制的描述处理方法MBeanServerConnection.createMBean(String, ObjectName, Object[], String[])
。Object[]
参数包装在MarshalledObject
中。- 指定者:
createMBean
在接口RMIConnection
中- 参数:
className
- 要实例化的 MBean 的类名。name
- MBean 的对象名称。可能为空。params
- 包含要调用的构造函数参数的数组,封装到MarshalledObject
中。封装的数组可以为null,相当于一个空数组。signature
- 包含要调用的构造函数签名的数组。可以为null,相当于一个空数组。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
-
一个
ObjectInstance
,包含ObjectName
和新实例化的 MBean 的 Java 类名。如果包含的ObjectName
是n
,则包含的 Java 类名称是
。getMBeanInfo(n)
.getClassName() - 抛出:
ReflectionException
- 包装在尝试调用 MBean 的构造函数时发生的java.lang.ClassNotFoundException
或java.lang.Exception
。InstanceAlreadyExistsException
- MBean 已在 MBean 服务的控制之下。MBeanRegistrationException
- MBean 的preRegister
(MBeanRegistration
接口)方法抛出异常。 MBean 将不会被注册。MBeanException
- MBean 的构造函数引发了异常。NotCompliantMBeanException
- 此类不是 JMX 兼容的 MBean。IOException
- 如果发生一般通信异常。
-
createMBean
public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String [] signature, Subject delegationSubject) throws ReflectionException , InstanceAlreadyExistsException , MBeanRegistrationException , MBeanException , NotCompliantMBeanException , InstanceNotFoundException , IOException 从接口RMIConnection
复制的描述处理方法MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[])
。Object[]
参数包装在MarshalledObject
中。- 指定者:
createMBean
在接口RMIConnection
中- 参数:
className
- 要实例化的 MBean 的类名。name
- MBean 的对象名称。可能为空。loaderName
- 要使用的类加载器的对象名称。params
- 包含要调用的构造函数参数的数组,封装到MarshalledObject
中。封装的数组可以为null,相当于一个空数组。signature
- 包含要调用的构造函数签名的数组。可以为null,相当于一个空数组。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
-
一个
ObjectInstance
,包含ObjectName
和新实例化的 MBean 的 Java 类名。如果包含的ObjectName
是n
,则包含的 Java 类名称是
。getMBeanInfo(n)
.getClassName() - 抛出:
ReflectionException
- 包装在尝试调用 MBean 的构造函数时发生的java.lang.ClassNotFoundException
或java.lang.Exception
。InstanceAlreadyExistsException
- MBean 已在 MBean 服务的控制之下。MBeanRegistrationException
- MBean 的preRegister
(MBeanRegistration
接口)方法抛出异常。 MBean 将不会被注册。MBeanException
- MBean 的构造函数引发了异常。NotCompliantMBeanException
- 此类不是 JMX 兼容的 MBean。InstanceNotFoundException
- 指定的类加载器未在 MBean 服务中注册。IOException
- 如果发生一般通信异常。
-
unregisterMBean
public void unregisterMBean(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException , MBeanRegistrationException , IOException 从接口RMIConnection
复制的描述- 指定者:
unregisterMBean
在接口RMIConnection
中- 参数:
name
- 要取消注册的 MBean 的对象名称。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 抛出:
InstanceNotFoundException
- 指定的 MBean 未在 MBean 服务中注册。MBeanRegistrationException
- MBean 的 preDeregister (MBeanRegistration
interface) 方法抛出异常。IOException
- 如果发生一般通信异常。
-
getObjectInstance
public ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException , IOException 从接口RMIConnection
复制的描述- 指定者:
getObjectInstance
在接口RMIConnection
中- 参数:
name
- MBean 的对象名称。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
-
与指定的 MBean 关联的
ObjectInstance
姓名.包含的ObjectName
是name
,包含的类名是
。getMBeanInfo(name)
.getClassName() - 抛出:
InstanceNotFoundException
- 指定的 MBean 未在 MBean 服务中注册。IOException
- 如果发生一般通信异常。
-
queryMBeans
public Set <ObjectInstance > queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException 从接口RMIConnection
复制的描述- 指定者:
queryMBeans
在接口RMIConnection
中- 参数:
name
- 标识要检索的 MBean 的对象名称模式。如果指定为空或未指定域和键属性,则将检索所有已注册的 MBean。query
- 用于选择 MBean 的查询表达式,封装到MarshalledObject
中。如果MarshalledObject
封装了一个空值,则不会应用任何查询表达式来选择 MBean。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
-
包含所选 MBean 的
ObjectInstance
对象的集合。如果没有 MBean 满足查询,则返回一个空列表。 - 抛出:
IOException
- 如果发生一般通信异常。
-
queryNames
public Set <ObjectName > queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException 从接口RMIConnection
复制的描述- 指定者:
queryNames
在接口RMIConnection
中- 参数:
name
- 标识要检索的 MBean 名称的对象名称模式。如果指定为空或未指定域和键属性,将检索所有已注册 MBean 的名称。query
- 用于选择 MBean 的查询表达式,封装到MarshalledObject
中。如果MarshalledObject
封装了一个空值,则不会应用任何查询表达式来选择 MBean。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 包含所选 MBean 的对象名称的集合。如果没有 MBean 满足查询,则返回一个空列表。
- 抛出:
IOException
- 如果发生一般通信异常。
-
isRegistered
从接口RMIConnection
复制的描述- 指定者:
isRegistered
在接口RMIConnection
中- 参数:
name
- 要检查的 MBean 的对象名称。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 如果 MBean 已在 MBean 服务中注册,则为 True,否则为 false。
- 抛出:
IOException
- 如果发生一般通信异常。
-
getMBeanCount
从接口RMIConnection
复制的描述- 指定者:
getMBeanCount
在接口RMIConnection
中- 参数:
delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 注册的 MBean 数。
- 抛出:
IOException
- 如果发生一般通信异常。
-
getAttribute
public Object getAttribute(ObjectName name, String attribute, Subject delegationSubject) throws MBeanException , AttributeNotFoundException , InstanceNotFoundException , ReflectionException , IOException 从接口RMIConnection
复制的描述- 指定者:
getAttribute
在接口RMIConnection
中- 参数:
name
- 要从中检索属性的 MBean 的对象名称。attribute
- 一个字符串,指定要检索的属性的名称。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 检索到的属性的值。
- 抛出:
MBeanException
- 包装由 MBean 的 getter 抛出的异常。AttributeNotFoundException
- 指定的属性在 MBean 中不可访问。InstanceNotFoundException
- 指定的 MBean 未在 MBean 服务中注册。ReflectionException
- 包装在尝试调用 getter 时抛出的java.lang.Exception
。IOException
- 如果发生一般通信异常。- 参见:
-
getAttributes
public AttributeList getAttributes(ObjectName name, String [] attributes, Subject delegationSubject) throws InstanceNotFoundException , ReflectionException , IOException 从接口RMIConnection
复制的描述- 指定者:
getAttributes
在接口RMIConnection
中- 参数:
name
- 从中检索属性的 MBean 的对象名称。attributes
- 要检索的属性列表。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 检索到的属性的列表。
- 抛出:
InstanceNotFoundException
- 指定的 MBean 未在 MBean 服务中注册。ReflectionException
- 尝试调用 Dynamic MBean 的 getAttributes 方法时发生异常。IOException
- 如果发生一般通信异常。- 参见:
-
setAttribute
public void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject) throws InstanceNotFoundException , AttributeNotFoundException , InvalidAttributeValueException , MBeanException , ReflectionException , IOException 从接口RMIConnection
复制的描述处理方法MBeanServerConnection.setAttribute(ObjectName, Attribute)
。Attribute
参数包装在MarshalledObject
中。- 指定者:
setAttribute
在接口RMIConnection
中- 参数:
name
- 要在其中设置属性的 MBean 的名称。attribute
- 要设置的属性的标识及其要设置的值,封装到MarshalledObject
中。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 抛出:
InstanceNotFoundException
- 指定的 MBean 未在 MBean 服务中注册。AttributeNotFoundException
- 指定的属性在 MBean 中不可访问。InvalidAttributeValueException
- 为属性指定的值无效。MBeanException
- 包装由 MBean 的设置器抛出的异常。ReflectionException
- 包装在尝试调用 setter 时抛出的java.lang.Exception
。IOException
- 如果发生一般通信异常。- 参见:
-
setAttributes
public AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject) throws InstanceNotFoundException , ReflectionException , IOException 从接口RMIConnection
复制的描述处理方法MBeanServerConnection.setAttributes(ObjectName, AttributeList)
。AttributeList
参数包装在MarshalledObject
中。- 指定者:
setAttributes
在接口RMIConnection
中- 参数:
name
- 要在其中设置属性的 MBean 的对象名称。attributes
- 属性列表:要设置的属性的标识及其要设置的值,封装到MarshalledObject
中。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 已设置的属性列表及其新值。
- 抛出:
InstanceNotFoundException
- 指定的 MBean 未在 MBean 服务中注册。ReflectionException
- 尝试调用 Dynamic MBean 的 getAttributes 方法时发生异常。IOException
- 如果发生一般通信异常。- 参见:
-
invoke
public Object invoke(ObjectName name, String operationName, MarshalledObject params, String [] signature, Subject delegationSubject) throws InstanceNotFoundException , MBeanException , ReflectionException , IOException 从接口RMIConnection
复制的描述处理方法MBeanServerConnection.invoke(ObjectName, String, Object[], String[])
。Object[]
参数包装在MarshalledObject
中。- 指定者:
invoke
在接口RMIConnection
中- 参数:
name
- 要在其上调用方法的 MBean 的对象名称。operationName
- 要调用的操作的名称。params
- 包含调用操作时要设置的参数的数组,封装到MarshalledObject
中。封装的数组可以为null,相当于一个空数组。signature
- 包含操作签名的数组。将使用与用于加载调用操作的 MBean 的类加载器相同的类加载器来加载类对象。可以为null,相当于一个空数组。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 操作返回的对象,表示对指定的 MBean 调用操作的结果。
- 抛出:
InstanceNotFoundException
- 指定的 MBean 未在 MBean 服务中注册。MBeanException
- 包装由 MBean 的调用方法抛出的异常。ReflectionException
- 包装在尝试调用该方法时抛出的java.lang.Exception
。IOException
- 如果发生一般通信异常。
-
getDefaultDomain
从接口RMIConnection
复制的描述- 指定者:
getDefaultDomain
在接口RMIConnection
中- 参数:
delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 默认域。
- 抛出:
IOException
- 如果发生一般通信异常。
-
getDomains
从接口RMIConnection
复制的描述- 指定者:
getDomains
在接口RMIConnection
中- 参数:
delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 域列表。
- 抛出:
IOException
- 如果发生一般通信异常。
-
getMBeanInfo
public MBeanInfo getMBeanInfo(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException , IntrospectionException , ReflectionException , IOException 从接口RMIConnection
复制的描述- 指定者:
getMBeanInfo
在接口RMIConnection
中- 参数:
name
- 要分析的 MBean 的名称delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
MBeanInfo
的实例允许检索此 MBean 的所有属性和操作。- 抛出:
InstanceNotFoundException
- 未找到指定的 MBean。IntrospectionException
- 内省期间发生异常。ReflectionException
- 尝试调用 Dynamic MBean 的 getMBeanInfo 时发生异常。IOException
- 如果发生一般通信异常。
-
isInstanceOf
public boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject) throws InstanceNotFoundException , IOException 从接口RMIConnection
复制的描述- 指定者:
isInstanceOf
在接口RMIConnection
中- 参数:
name
- MBean 的ObjectName
。className
- 类的名称。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 返回:
- 如果根据上述规则指定的 MBean 是指定类的实例,则返回 true,否则返回 false。
- 抛出:
InstanceNotFoundException
- 指定的 MBean 未在 MBean 服务中注册。IOException
- 如果发生一般通信异常。
-
addNotificationListeners
public Integer [] addNotificationListeners(ObjectName [] names, MarshalledObject [] filters, Subject [] delegationSubjects) throws InstanceNotFoundException , IOException 从接口RMIConnection
复制的描述注册来自与给定过滤器匹配的给定 MBean 的通知。远程客户端随后可以使用
fetchNotifications
方法检索通知。对于每个监听器,原来的
NotificationListener
和handback
都保存在客户端;为了让客户端能够识别它们,服务生成并返回一个唯一的listenerID
。此listenerID
与Notifications
一起转发到远程客户端。如果给定的 (name, filter) 对中的任何一个无法注册,则操作将失败并出现异常,并且不会注册任何名称或过滤器。
- 指定者:
addNotificationListeners
在接口RMIConnection
中- 参数:
names
-ObjectNames
标识发出通知的 MBean。filters
-NotificationFilters
的编组表示数组。该数组的元素可以为空。delegationSubjects
- 代表其添加监听器的Subjects
。该数组的元素可以为空。此外,delegationSubjects
参数本身可以为 null,这相当于一个空值数组,其大小与names
和filters
数组相同。- 返回:
-
标识本地监听器的
listenerIDs
数组。该数组具有与参数相同数量的元素。 - 抛出:
InstanceNotFoundException
- 如果names
之一不对应于任何已注册的 MBean。IOException
- 如果发生一般通信异常。
-
addNotificationListener
public void addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) throws InstanceNotFoundException , IOException 从接口RMIConnection
复制的描述处理方法MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
。NotificationFilter
参数包装在MarshalledObject
中。Object
(handback)参数也包含在MarshalledObject
中。- 指定者:
addNotificationListener
在接口RMIConnection
中- 参数:
name
- 应在其上添加监听器的 MBean 的名称。listener
- 将处理已注册 MBean 发出的通知的监听器的对象名称。filter
- 过滤器对象,封装到MarshalledObject
中。如果MarshalledObject
中封装的filter为空值,则处理通知前不会进行任何过滤。handback
- 发出通知时要发送给监听器的上下文,封装到MarshalledObject
中。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 抛出:
InstanceNotFoundException
- 通知监听器或通知广播器的 MBean 名称与任何已注册的 MBean 都不匹配。IOException
- 如果发生一般通信异常。- 参见:
-
removeNotificationListeners
public void removeNotificationListeners(ObjectName name, Integer [] listenerIDs, Subject delegationSubject) throws InstanceNotFoundException , ListenerNotFoundException , IOException 从接口RMIConnection
复制的描述处理
removeNotificationListener(ObjectName, NotificationListener)
和removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
方法。此方法从 MBean 服务中的给定 MBean 中删除一个或多个
NotificationListener
。NotificationListeners
由RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[])
方法返回的 ID 标识。- 指定者:
removeNotificationListeners
在接口RMIConnection
中- 参数:
name
-ObjectName
标识发出通知的 MBean。listenerIDs
- 与要删除的监听器对应的 ID 列表。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 抛出:
InstanceNotFoundException
- 如果给定的name
不对应于任何已注册的 MBean。ListenerNotFoundException
- 如果在服务端未找到其中一个监听器。如果 MBean 出于某种原因而不是对MBeanServer.removeNotificationListener
的调用而丢弃监听器,则会发生此异常。IOException
- 如果发生一般通信异常。
-
removeNotificationListener
public void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject) throws InstanceNotFoundException , ListenerNotFoundException , IOException 从接口RMIConnection
复制的描述- 指定者:
removeNotificationListener
在接口RMIConnection
中- 参数:
name
- 应删除监听器的 MBean 的名称。listener
- 要删除的监听器的对象名称。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 抛出:
InstanceNotFoundException
- 提供的 MBean 名称与任何已注册的 MBean 都不匹配。ListenerNotFoundException
- 监听器未在 MBean 中注册。IOException
- 如果发生一般通信异常。- 参见:
-
removeNotificationListener
public void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) throws InstanceNotFoundException , ListenerNotFoundException , IOException 从接口RMIConnection
复制的描述处理方法MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
。NotificationFilter
参数包装在MarshalledObject
中。Object
参数也包含在MarshalledObject
中。- 指定者:
removeNotificationListener
在接口RMIConnection
中- 参数:
name
- 应删除监听器的 MBean 的名称。listener
- 先前添加到此 MBean 的监听器。filter
- 添加监听器时指定的过滤器,封装到MarshalledObject
中。handback
- 添加监听器时指定的回传,封装到MarshalledObject
中。delegationSubject
- 包含委托主体的Subject
或null
(如果使用身份验证主体)。- 抛出:
InstanceNotFoundException
- 提供的 MBean 名称与任何已注册的 MBean 都不匹配。ListenerNotFoundException
- 监听器未在 MBean 中注册,或者未向给定的过滤器和 handback 注册。IOException
- 如果发生一般通信异常。- 参见:
-
fetchNotifications
public NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout) throws IOException 从接口RMIConnection
复制的描述从连接器服务检索通知。此方法可以阻塞,直到至少有一个通知或达到指定的超时为止。该方法还可以随时返回零通知。
如果通知的序列号不小于
clientSequenceNumber
并且此客户端已为生成通知的 MBean 注册了至少一个监听器,并且具有接受通知的过滤器,则通知可以包含在结果中。每个对通知感兴趣的监听器都由RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[])
返回的整数 ID 标识。- 指定者:
fetchNotifications
在接口RMIConnection
中- 参数:
clientSequenceNumber
- 客户端感兴趣的第一个序列号。如果为负,则它被解释为下一个通知将具有的序列号。maxNotifications
- 要返回的不同通知的最大数量。如果同一通知出现多次,则返回的NotificationResult
中的TargetedNotification
数组可以包含比这更多的元素。如果此参数为负,则行为未指定。timeout
- 等待通知到达的最长时间(以毫秒为单位)。这可以是 0,表示如果没有通知,该方法不应等待,而应立即返回。可以是Long.MAX_VALUE
表示没有超时。如果此参数为负,则行为未指定。- 返回:
-
一个
NotificationResult
。 - 抛出:
IOException
- 如果发生一般通信异常。
-
toString
返回此对象的字符串表示形式。通常,
toString
方法返回一个“文本表示”此对象的字符串。结果应该是简洁但信息丰富的表示形式,易于人们阅读。
-