- 所有已实现的接口:
-
Closeable
,AutoCloseable
,Remote
,Unreferenced
,RMIConnection
实现了RMIConnection
接口。用户代码通常不会引用此类。
- 自JDK版本:
- 1.5
-
Constructor Summary
ConstructorDescriptionRMIConnectionImpl
(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String, ?> env) 构造一个新的RMIConnection
。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
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)
-
Constructor Details
-
RMIConnectionImpl
public RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String, ?> env) 构造一个新的RMIConnection
。此连接可与JRMP传输一起使用。此对象不会自行导出:导出的责任由调用者适当处理(请参阅RMIJRMPServerImpl.makeClient(String,Subject)
)。- 参数:
-
rmiServer
- 创建此连接的RMIServerImpl对象。如果此参数为null,则行为未指定。 -
connectionId
- 此连接的ID。如果此参数为null,则行为未指定。 -
defaultClassLoader
- 在反序列化已编组对象时要使用的默认ClassLoader。可以为null,表示引导类加载器。 -
subject
- 用于授权的经过身份验证的主体。可以为null,表示未经过身份验证的主体。 -
env
- 包含新的RMIServerImpl
属性的环境。可以为null,相当于一个空映射。
-
-
Method Details
-
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的对象名称。可能为null。 -
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 返回:
-
一个
ObjectInstance
,包含新实例化的MBean的ObjectName
和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的对象名称。可能为null。 -
loaderName
- 要使用的类加载器的对象名称。 -
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 返回:
-
一个
ObjectInstance
,包含新实例化的MBean的ObjectName
和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的对象名称。可以为null。 -
params
- 包含要调用的构造函数的参数的数组,封装在一个MarshalledObject
中。封装的数组可以为null,相当于一个空数组。 -
signature
- 包含要调用的构造函数的签名的数组。可以为null,相当于一个空数组。 -
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 返回:
-
一个
ObjectInstance
,包含新实例化的MBean的ObjectName
和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, 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的对象名称。可以为null。 -
loaderName
- 要使用的类加载器的对象名称。 -
params
- 包含要调用的构造函数的参数的数组,封装在一个MarshalledObject
中。封装的数组可以为null,相当于一个空数组。 -
signature
- 包含要调用的构造函数的签名的数组。可以为null,相当于一个空数组。 -
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 返回:
-
一个
ObjectInstance
,包含新实例化的MBean的ObjectName
和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
接口)方法引发了异常。 -
IOException
- 如果发生了一般通信异常。
-
getObjectInstance
public ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IOException 从接口复制的描述:RMIConnection
- 指定者:
-
getObjectInstance
在接口RMIConnection
中指定 - 参数:
-
name
- MBean的对象名称。 -
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 返回:
-
与name指定的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
- 用于标识要检索的MBeans的对象名称模式。如果为null或未指定域和关键属性,则将检索所有已注册的MBeans。 -
query
- 要应用于选择MBeans的查询表达式,封装在MarshalledObject
中。如果MarshalledObject
封装了一个null值,则不会应用查询表达式以选择MBeans。 -
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 返回:
-
包含所选MBeans的
ObjectInstance
对象的集合。如果没有MBean满足查询条件,则返回一个空列表。 - 抛出:
-
IOException
- 如果发生一般通信异常。
-
queryNames
public Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException 从接口复制的描述:RMIConnection
- 指定者:
-
queryNames
在接口RMIConnection
中 - 参数:
-
name
- 用于标识要检索MBean名称的对象名称模式。如果为null或未指定域和关键属性,则将检索所有已注册MBeans的名称。 -
query
- 要应用于选择MBeans的查询表达式,封装在MarshalledObject
中。如果MarshalledObject
封装了一个null值,则不会应用查询表达式以选择MBeans。 -
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 返回:
- 包含所选MBeans的ObjectName的集合。如果没有MBean满足查询条件,则返回一个空列表。
- 抛出:
-
IOException
- 如果发生一般通信异常。
-
isRegistered
从接口复制的描述:RMIConnection
- 指定者:
-
isRegistered
在接口RMIConnection
中 - 参数:
-
name
- 要检查的MBean的对象名称。 -
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 返回:
- 如果MBean已在MBean服务器中注册,则为true,否则为false。
- 抛出:
-
IOException
- 如果发生一般通信异常。
-
getMBeanCount
从接口复制的描述:RMIConnection
- 指定者:
-
getMBeanCount
在接口RMIConnection
中 - 参数:
-
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 返回:
- 注册的MBeans数量。
- 抛出:
-
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
- 指定者:
-
setAttribute
在接口RMIConnection
中 - 参数:
-
name
- 要设置属性的MBean的名称。 -
attribute
- 要设置的属性的标识以及要设置的值,封装在一个MarshalledObject
中。 -
delegationSubject
- 包含委托主体的Subject
,如果使用身份验证主体,则为null
。 - 抛出:
-
InstanceNotFoundException
- 指定的MBean未在MBean服务器中注册。 -
AttributeNotFoundException
- 指定的属性在MBean中不可访问。 -
InvalidAttributeValueException
- 为属性指定的值无效。 -
MBeanException
- 包装了MBean的setter抛出的异常。 -
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
- 尝试调用动态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
- 尝试调用动态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
注册要与给定过滤器匹配的给定MBeans发出的通知。远程客户端随后可以使用
fetchNotifications
方法检索通知。对于每个监听器,原始的
NotificationListener
和handback
保留在客户端端;为了使客户端能够识别它们,服务器生成并返回一个唯一的listenerID
。此listenerID
随着Notifications
转发到远程客户端。如果给定的(名称,过滤器)对中的任何一个无法注册,则操作将失败并出现异常,不会注册任何名称或过滤器。
- 指定者:
-
addNotificationListeners
在接口RMIConnection
中 - 参数:
-
names
- 标识发出通知的MBeans的ObjectNames
。 -
filters
-NotificationFilters
的序列化表示的数组。此数组的元素可以为null。 -
delegationSubjects
- 添加监听器的主体。此数组的元素可以为null。此外,delegationSubjects
参数本身可以为null,这相当于一个具有与names
和filters
数组相同大小的null值数组。 - 返回值:
-
一个标识本地监听器的
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
中的过滤器具有null值,则在处理通知之前不会执行任何过滤。 -
handback
- 发送到监听器的上下文在发出通知时封装在MarshalledObject
中。 -
delegationSubject
- 包含委托主体的Subject
,或者如果使用身份验证主体,则为null
。 - 抛出:
-
InstanceNotFoundException
- 通知监听器的MBean名称或通知广播器的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
- 标识发出通知的MBean的ObjectName
。 -
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中注册,或者未使用给定的过滤器和回传注册。 -
IOException
- 如果发生一般通信异常。 - 参见:
-
fetchNotifications
public NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout) throws IOException 从接口复制的描述:RMIConnection
从连接器服务器检索通知。此方法可能会阻塞,直到至少有一个通知或达到指定的超时为止。该方法也可以在任何时候返回零个通知。
如果通知的序列号不小于
clientSequenceNumber
,并且此客户端为生成通知的MBean注册了至少一个接受通知的过滤器的监听器,则可以将通知包含在结果中。每个对通知感兴趣的监听器由一个整数ID标识,该ID是由RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[])
返回的。- 指定者:
-
fetchNotifications
在接口RMIConnection
中指定 - 参数:
-
clientSequenceNumber
- 客户端感兴趣的第一个序列号。如果为负数,则解释为下一个通知将具有的序列号。 -
maxNotifications
- 要返回的不同通知的最大数量。返回的NotificationResult
中的TargetedNotification
数组可能具有更多元素,如果同一通知出现多次。如果此参数为负数,则行为未指定。 -
timeout
- 等待通知到达的最长时间(以毫秒为单位)。如果没有通知,则可以将其设置为0,表示方法不应等待,而应立即返回。可以将其设置为Long.MAX_VALUE
,表示没有超时。如果此参数为负数,则行为未指定。 - 返回:
-
一个
NotificationResult
。 - 抛出:
-
IOException
- 如果发生一般通信异常。
-
toString
返回此对象的字符串表示形式。通常,
toString
方法返回一个“文本表示”此对象的字符串。结果应该是简洁但信息丰富的表示,易于阅读。
-