|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface MBeanServer
에이전트측에서 MBean 를 조작하기 위한 인터페이스입니다. 등록을 마친 MBean 에 액세스하기 위한 메소드외, MBean 를 작성, 등록, 삭제하기 위해서 필요한 메소드가 포함됩니다. 이것이, JMX 인프라스트럭쳐(infrastructure)의 주요 컴퍼넌트가 됩니다.
일반적으로, 사용자 코드는 이 인터페이스를 구현하지 않습니다. 다만,MBeanServerFactory
클래스의 메소드를 이용해, 이 인터페이스를 구현하는 객체를 취득할 수 있습니다.
MBean 서버에 추가된 MBean 는 모두 관리 대상이 됩니다. 이러한 MBean 의 속성과 오퍼레이션에는, MBean 서버에 접속된 연결기 또는 어댑터 경유로 원격 접근 할 수 있습니다. JMX 준거의 MBean 가 아닌 Java 객체는, MBean 서버에 등록할 수 없습니다.
MBean 서버에 MBean 를 등록하거나 등록을 해제하거나 하면(자),MBeanServerNotification
통지가 발행됩니다. 객체를 MBeanServerNotifications 의 청취자로서 등록하려면 ,MBeanServerDelegate
의 ObjectName
을 지정해, MBean 서버 메소드 addNotificationListener
를 호출합니다. 이
ObjectName
는,JMImplementation:type=MBeanServerDelegate
가 됩니다.
MBeanServerFactory
클래스의 createMBeanServer
또는 newMBeanServer
메소드로부터 취득된 객체는, 그 메소드에 대해서 시큐리티 체크를 적용합니다.
시큐리티 매니저가 존재하지 않는 경우, 즉 System.getSecurityManager()
가 null 의 경우, 이 인터페이스의 구현은 체크를 실시하지 않는 것도 있습니다.
시큐리티 매니저가 존재하는 경우, 또는 구현으로 체크를 실시하는 것이 선택되고 있는 경우, 다음과 같은 체크를 합니다. className
는,MBeanInfo.getClassName()
에 의해 타겟 MBean 에 반환되는 캐릭터 라인입니다.
시큐리티 체크에 실패했을 경우,SecurityException
가 throw 됩니다.
InstanceNotFoundException
를 throw 하는 메소드는, 액세스권의 내용에 관계없이, MBean 가 존재하지 않는 경우에 이 예외를 throw 합니다. 이것은, MBean 가 존재하지 않으면,className
도 존재하지 않기 때문입니다.
invoke
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, operationName, name, "invoke")
를 가지고 있을 필요가 있다
getAttribute
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, attribute, name, "getAttribute")
를 가지고 있을 필요가 있다
getAttributes
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, name, "getAttribute")
를 가지고 있을 필요가 있다. 호출원이 액세스권 MBeanPermission(className, a, name, "getAttribute")
를 가지고 있지 않은 경우, MBean 서버는,AttributeList
내의 속성 a 가 리스트내에 존재하지 않으면 간주한다
setAttribute
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, attrName, name, "setAttribute")
를 가지고 있을 필요가 있다 (attrName
는 attribute.getName()
)
setAttributes
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, name, "setAttributes")
를 가지고 있을 필요가 있다. 호출원이 액세스권 MBeanPermission(className, a, name, "setAttributes")
를 가지고 있지 않은 경우, MBean 서버는,AttributeList
내의 속성 a 가 리스트내에 존재하지 않으면 간주한다
addNotificationListener
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, name, "addNotificationListener")
를 가지고 있을 필요가 있다
removeNotificationListener
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, name, "removeNotificationListener")
를 가지고 있을 필요가 있다
getMBeanInfo
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, name, "getMBeanInfo")
를 가지고 있을 필요가 있다
getObjectInstance
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, name, "getObjectInstance")
를 가지고 있을 필요가 있다
isInstanceOf
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, name, "isInstanceOf")
를 가지고 있을 필요가 있다
queryMBeans
메소드의 호출원래는, 액세스권으로서 MBeanPermission(null, null, name, "queryMBeans")
를 가지고 있을 필요가 있다. 호출원이 액세스권 MBeanPermission(className, null, name, "queryMBeans")
를 가지고 있지 않은 경우,name
에 일치하는 MBean 서버는, MBean 가 존재하지 않으면 간주한다
특정의 쿼리요소는, MBean 서버상에서 오퍼레이션을 실행한다. 호출원이 지정된 MBean 를 사용하기 위해서 필요한 액세스권을 가지고 있지 않은 경우, 이 MBean 는 쿼리의 결과로부터 제외된다. 영향을 받는 표준 쿼리요소는,Query.attr(String)
,Query.attr(String, String)
, 및 Query.classattr()
queryNames
메소드의 경우,queryMBeans
와 같은 체크를 한다. 다만,MBeanPermission
객체에서는,"queryMBeans"
대신에 "queryNames"
가 사용된다. 액세스권 "queryMBeans"
에는, 대응하는 액세스권 "queryNames"
는 포함되지 않는다
getDomains
메소드의 호출원래는, 액세스권으로서 MBeanPermission(null, null, name, "getDomains")
를 가지고 있을 필요가 있다. 호출원이 액세스권 MBeanPermission(null, null, new ObjectName("d:x=x"), "getDomains")
를 가지고 있지 않은 경우, 반환되는 배열로부터 도메인 d 가 제외된다(x=x
는, ObjectName 의 생성자 전용의 임의의 key=value 페어)
getClassLoader
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, loaderName, "getClassLoader")
를 가지고 있을 필요가 있다
getClassLoaderFor
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, mbeanName, "getClassLoaderFor")
을 가지고 있을 필요가 있다
getClassLoaderRepository
메소드의 호출원래는, 액세스권으로서 MBeanPermission(null, null, null, "getClassLoaderRepository")
를 가지고 있을 필요가 있다
추천 되지 않는 deserialize
메소드는, 이러한 대체가 되는 메소드와 같은 액세스권을 필요로 한다
instantiate
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, null, "instantiate")
를 가지고 있을 필요가 있다
registerMBean
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, name, "registerMBean")
를 가지고 있을 필요가 있는(className
는,MBeanInfo.getClassName()
가 이 클래스의 객체에 대해서 돌려주는 캐릭터 라인)
MBeanPermission
체크에 성공했을 경우, MBean 의 클래스의 타당성 검사를 한다. 구체적으로는,ProtectionDomain
에 MBeanTrustPermission("register")
가 포함될지 어떨지가 체크된다
name
인수가 null 의 경우,MBeanRegistration.preRegister
에 의해 반환되는 ObjectName
에 의해, 다른 MBeanPermission
체크를 한다
createMBean
메소드의 호출원래는, 동등의 instantiate
및 registerMBean
가 필요로 하는 액세스권을 가지고 있을 필요가 있다
unregisterMBean
메소드의 호출원래는, 액세스권으로서 MBeanPermission(className, null, name, "unregisterMBean")
를 가지고 있을 필요가 있다
메소드의 개요 | |
---|---|
void |
addNotificationListener (ObjectName name,
NotificationListener listener,
NotificationFilter filter,
Object handback)
등록이 끝난 MBean 에 청취자를 추가합니다. |
void |
addNotificationListener (ObjectName name,
ObjectName listener,
NotificationFilter filter,
Object handback)
등록이 끝난 MBean 에 청취자를 추가합니다. |
ObjectInstance |
createMBean (String className,
ObjectName name)
MBean 를 인스턴스화해, MBean 서버에 등록합니다. |
ObjectInstance |
createMBean (String className,
ObjectName name,
Object [] params,
String [] signature)
MBean 를 인스턴스화해, MBean 서버에 등록합니다. |
ObjectInstance |
createMBean (String className,
ObjectName name,
ObjectName loaderName)
MBean 를 인스턴스화해, MBean 서버에 등록합니다. |
ObjectInstance |
createMBean (String className,
ObjectName name,
ObjectName loaderName,
Object [] params,
String [] signature)
MBean 를 인스턴스화해, MBean 서버에 등록합니다. |
ObjectInputStream |
deserialize (ObjectName name,
byte[] data)
추천 되고 있지 않습니다. getClassLoaderFor 를 사용해, 직렬화 복원에 사용하는 적절한 클래스 로더를 가져옵니다. |
ObjectInputStream |
deserialize (String className,
byte[] data)
추천 되고 있지 않습니다. getClassLoaderRepository() 를 사용해 클래스 로더 리포지터리(repository)를 취득해, 이것을 사용해 직렬화 복원을 실시합니다. |
ObjectInputStream |
deserialize (String className,
ObjectName loaderName,
byte[] data)
추천 되고 있지 않습니다. getClassLoader 를 사용해, 직렬화 복원에 사용하는 클래스 로더를 가져옵니다. |
Object |
getAttribute (ObjectName name,
String attribute)
지정된 MBean 의 특정의 속성의 값을 가져옵니다. |
AttributeList |
getAttributes (ObjectName name,
String [] attributes)
지정된 MBean 의 복수의 속성의 값을 유효화합니다. |
ClassLoader |
getClassLoader (ObjectName loaderName)
지정된 ClassLoader 를 돌려줍니다. |
ClassLoader |
getClassLoaderFor (ObjectName mbeanName)
지정된 MBean 의 클래스의 로드에 사용된 ClassLoader 를 돌려줍니다. |
ClassLoaderRepository |
getClassLoaderRepository ()
이 MBeanServer 의 ClassLoaderRepository 를 돌려줍니다. |
String |
getDefaultDomain ()
MBean 의 지정에 사용하는 디폴트의 도메인을 돌려줍니다. |
String [] |
getDomains ()
MBean 가 현재 등록되어 있는 도메인의 리스트를 돌려줍니다. |
Integer |
getMBeanCount ()
MBean 서버에 등록되어 있는 MBean 의 수를 돌려줍니다. |
MBeanInfo |
getMBeanInfo (ObjectName name)
이 메소드는, MBean 가 관리용으로서 공개하고 있는 속성과 오퍼레이션을 검출합니다. |
ObjectInstance |
getObjectInstance (ObjectName name)
MBean 에 등록된 MBean 의 ObjectInstance 를 가져옵니다. |
Object |
instantiate (String className)
MBean 서버 클래스 로더 리포지터리(repository) 내에 등록된 모든 클래스 로더의 리스트를 사용해, 객체를 인스턴스화합니다. |
Object |
instantiate (String className,
Object [] params,
String [] signature)
MBean 서버 클래스 로더 리포지터리(repository) 내에 등록된 모든 클래스 로더의 리스트를 사용해, 객체를 인스턴스화합니다. |
Object |
instantiate (String className,
ObjectName loaderName)
ObjectName 로 지정된 클래스 로더를 사용해, 객체를 인스턴스화합니다. |
Object |
instantiate (String className,
ObjectName loaderName,
Object [] params,
String [] signature)
객체를 인스턴스화합니다. |
Object |
invoke (ObjectName name,
String operationName,
Object [] params,
String [] signature)
MBean상에서 오퍼레이션을 호출합니다. |
boolean |
isInstanceOf (ObjectName name,
String className)
지정된 MBean 가 지정된 클래스의 인스턴스인 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다. |
boolean |
isRegistered (ObjectName name)
이 객체명으로 식별되는 MBean 가, 벌써 MBean 서버에 등록되어 있는지 어떤지를 체크합니다. |
Set <ObjectInstance > |
queryMBeans (ObjectName name,
QueryExp query)
MBean 서버에 의해 제어되는 MBean 를 가져옵니다. |
Set <ObjectName > |
queryNames (ObjectName name,
QueryExp query)
MBean 서버에 의해 제어되는 MBean 의 이름을 가져옵니다. |
ObjectInstance |
registerMBean (Object object,
ObjectName name)
기존의 객체를 MBean 로서 MBean 서버에 등록합니다. |
void |
removeNotificationListener (ObjectName name,
NotificationListener listener)
등록이 끝난 MBean 로부터 청취자를 삭제합니다. |
void |
removeNotificationListener (ObjectName name,
NotificationListener listener,
NotificationFilter filter,
Object handback)
등록이 끝난 MBean 로부터 청취자를 삭제합니다. |
void |
removeNotificationListener (ObjectName name,
ObjectName listener)
등록이 끝난 MBean 로부터 청취자를 삭제합니다. |
void |
removeNotificationListener (ObjectName name,
ObjectName listener,
NotificationFilter filter,
Object handback)
등록이 끝난 MBean 로부터 청취자를 삭제합니다. |
void |
setAttribute (ObjectName name,
Attribute attribute)
지정된 MBean 의 특정의 속성의 값을 설정합니다. |
AttributeList |
setAttributes (ObjectName name,
AttributeList attributes)
지정된 MBean 의 복수의 속성의 값을 설정합니다. |
void |
unregisterMBean (ObjectName name)
MBean 서버로부터 MBean 의 등록을 해제합니다. |
메소드의 상세 |
---|
ObjectInstance createMBean(String className, ObjectName name) throws ReflectionException , InstanceAlreadyExistsException , MBeanRegistrationException , MBeanException , NotCompliantMBeanException
MBeanServerConnection
의 기술:MBean 를 인스턴스화해, MBean 서버에 등록합니다. MBean 서버는,디폴트의 로더 리포지터리(repository)
를 사용해, 이 MBean 의 클래스를 로드합니다. MBean 에는 객체명을 관련지을 수 있습니다. 이 객체명이 null 의 경우, MBean 는,MBeanRegistration
인터페이스를 구현해,preRegister
메소드로부터 반환되는 독자적인 이름을 사용할 필요가 있습니다.
이 메소드는,createMBean(className, name, (Object[]) null, (String[]) null)
라고 동등합니다.
MBeanServerConnection
내의 createMBean
className
- 인스턴스화하는 MBean 의 클래스명name
- MBean 의 객체명. null 의 경우 있어
ObjectName
와 Java 클래스명을 포함한 ObjectInstance
. ObjectName
가 n
의 경우, Java 클래스명은 getMBeanInfo(n)
. getClassName()
ReflectionException
- MBean 의 생성자 의 호출시에 발행되는 java.lang.ClassNotFoundException
또는 java.lang.Exception
를 랩 하는 경우
InstanceAlreadyExistsException
- MBean 가 벌써 MBean 서버에 의해 제어되고 있는 경우
MBeanRegistrationException
- MBean 의 preRegister
(MBeanRegistration
interface) 메소드가 예외를 throw 했을 경우. MBean 는 등록되지 않는다
MBeanException
- MBean 의 생성자 이 예외를 throw 했을 경우
NotCompliantMBeanException
- 이 클래스가 JMX 준거의 MBean 가 아닌 경우ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName) throws ReflectionException , InstanceAlreadyExistsException , MBeanRegistrationException , MBeanException , NotCompliantMBeanException , InstanceNotFoundException
MBeanServerConnection
의 기술:MBean 를 인스턴스화해, MBean 서버에 등록합니다. 사용하는 클래스 로더는, 객체명으로 식별됩니다. MBean 에는 객체명을 관련지을 수 있습니다. 로더의 객체명이 null 의 경우, MBean 서버의 로드에 사용한 ClassLoader 가 사용됩니다. MBean 의 객체명이 null 의 경우, MBean 는,MBeanRegistration
인터페이스를 구현해,preRegister
메소드로부터 반환되는 독자적인 이름을 사용할 필요가 있습니다.
이 메소드는,createMBean(className, name, loaderName, (Object[]) null, (String[]) null)
라고 동등합니다.
MBeanServerConnection
내의 createMBean
className
- 인스턴스화하는 MBean 의 클래스명name
- MBean 의 객체명. null 의 경우 있어loaderName
- 사용하는 클래스 로더의 객체명
ObjectName
와 Java 클래스명을 포함한 ObjectInstance
. ObjectName
가 n
의 경우, Java 클래스명은 getMBeanInfo(n)
. getClassName()
ReflectionException
- MBean 의 생성자 의 호출시에 발행되는 java.lang.ClassNotFoundException
또는 java.lang.Exception
를 랩 하는 경우
InstanceAlreadyExistsException
- MBean 가 벌써 MBean 서버에 의해 제어되고 있는 경우
MBeanRegistrationException
- MBean 의 preRegister
(MBeanRegistration
interface) 메소드가 예외를 throw 했을 경우. MBean 는 등록되지 않는다
MBeanException
- MBean 의 생성자 이 예외를 throw 했을 경우
NotCompliantMBeanException
- 이 클래스가 JMX 준거의 MBean 가 아닌 경우
InstanceNotFoundException
- 지정된 클래스 로더가 MBean 서버에 등록되지 않은 경우ObjectInstance createMBean(String className, ObjectName name, Object [] params, String [] signature) throws ReflectionException , InstanceAlreadyExistsException , MBeanRegistrationException , MBeanException , NotCompliantMBeanException
MBeanServerConnection
의 기술:디폴트의 로더 리포지터리(repository)
를 사용해, 이 MBean 의 클래스를 로드합니다. MBean 에는 객체명을 관련지을 수 있습니다. 이 객체명이 null 의 경우, MBean 는,MBeanRegistration
인터페이스를 구현해,preRegister
메소드로부터 반환되는 독자적인 이름을 사용할 필요가 있습니다.
MBeanServerConnection
내의 createMBean
className
- 인스턴스화하는 MBean 의 클래스명name
- MBean 의 객체명. null 의 경우 있어params
- 불려 가는 생성자 의 파라미터를 포함한 배열signature
- 생성자 의 시그니챠를 포함한 배열. 이 배열이 불려 간다
ObjectName
와 Java 클래스명을 포함한 ObjectInstance
. ObjectName
가 n
의 경우, Java 클래스명은 getMBeanInfo(n)
. getClassName()
ReflectionException
- MBean 의 생성자 의 호출시에 발행되는 java.lang.ClassNotFoundException
또는 java.lang.Exception
를 랩 하는 경우
InstanceAlreadyExistsException
- MBean 가 벌써 MBean 서버에 의해 제어되고 있는 경우
MBeanRegistrationException
- MBean 의 preRegister
(MBeanRegistration
interface) 메소드가 예외를 throw 했을 경우. Bean 는 등록되지 않는다
MBeanException
- MBean 의 생성자 이 예외를 throw 했을 경우
NotCompliantMBeanException
- 이 클래스가 JMX 준거의 MBean 가 아닌 경우ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object [] params, String [] signature) throws ReflectionException , InstanceAlreadyExistsException , MBeanRegistrationException , MBeanException , NotCompliantMBeanException , InstanceNotFoundException
MBeanServerConnection
의 기술:MBeanRegistration
인터페이스를 구현해,preRegister
메소드로부터 반환되는 독자적인 이름을 사용할 필요가 있습니다.
MBeanServerConnection
내의 createMBean
className
- 인스턴스화하는 MBean 의 클래스명name
- MBean 의 객체명. null 의 경우 있어loaderName
- 사용하는 클래스 로더의 객체명params
- 불려 가는 생성자 의 파라미터를 포함한 배열signature
- 생성자 의 시그니챠를 포함한 배열. 이 배열이 불려 간다
ObjectName
와 Java 클래스명을 포함한 ObjectInstance
. ObjectName
가 n
의 경우, Java 클래스명은 getMBeanInfo(n)
. getClassName()
ReflectionException
- MBean 의 생성자 의 호출시에 발행되는 java.lang.ClassNotFoundException
또는 java.lang.Exception
를 랩 하는 경우
InstanceAlreadyExistsException
- MBean 가 벌써 MBean 서버에 의해 제어되고 있는 경우
MBeanRegistrationException
- MBean 의 preRegister
(MBeanRegistration
interface) 메소드가 예외를 throw 했을 경우. MBean 는 등록되지 않는다
MBeanException
- MBean 의 생성자 이 예외를 throw 했을 경우
NotCompliantMBeanException
- 이 클래스가 JMX 준거의 MBean 가 아닌 경우
InstanceNotFoundException
- 지정된 클래스 로더가 MBean 서버에 등록되지 않은 경우ObjectInstance registerMBean(Object object, ObjectName name) throws InstanceAlreadyExistsException , MBeanRegistrationException , NotCompliantMBeanException
MBeanRegistration
인터페이스를 구현해,preRegister
메소드로부터 반환되는 독자적인 이름을 사용할 필요가 있습니다.
object
- MBean 로서 등록되는 MBeanname
- MBean 의 객체명. null 의 경우 있어
ObjectName
와 Java 클래스명을 포함한 ObjectInstance
. ObjectName
가 n
의 경우, Java 클래스명은 getMBeanInfo(n)
. getClassName()
InstanceAlreadyExistsException
- MBean 가 벌써 MBean 서버에 의해 제어되고 있는 경우
MBeanRegistrationException
- MBean 의 preRegister
(MBeanRegistration
interface) 메소드가 예외를 throw 했을 경우. MBean 는 등록되지 않는다
NotCompliantMBeanException
- 이 객체가 JMX 준거의 MBean 가 아닌 경우
RuntimeOperationsException
- java.lang.IllegalArgumentException
를 랩 하는 경우. 즉, 파라미터에게 건네지는 객체가 null 인지, 객체명이 지정되어 있지 않은 경우void unregisterMBean(ObjectName name) throws InstanceNotFoundException , MBeanRegistrationException
MBeanServerConnection
의 기술:
MBeanServerConnection
내의 unregisterMBean
name
- 등록 해제하는 MBean 의 객체명
InstanceNotFoundException
- 지정된 MBean 가 MBean 서버에 등록되지 않은 경우
MBeanRegistrationException
- MBean 의 preDeregister (MBeanRegistration
interface) 메소드가 예외를 throw 했을 경우ObjectInstance getObjectInstance(ObjectName name) throws InstanceNotFoundException
MBeanServerConnection
의 기술:ObjectInstance
를 가져옵니다.
MBeanServerConnection
내의 getObjectInstance
name
- MBean 의 객체명
ObjectInstance
. ObjectName
는 name
로, 포함되는 클래스명은 getMBeanInfo(name)
. getClassName()
InstanceNotFoundException
- 지정된 MBean 가 MBean 서버에 등록되지 않은 경우Set <ObjectInstance > queryMBeans(ObjectName name, QueryExp query)
MBeanServerConnection
의 기술:ObjectName
나 Query 식의 패턴 매칭에 의해 지정된 MBean 세트, 특정의 MBean 의 어느쪽이든을 돌려줍니다. 객체명이 null 인 경우, 또는 도메인이나 키의 프로퍼티이 지정되어 있지 않은 경우, 모든 객체가 선택됩니다. 쿼리가 지정되고 있는 경우는, 한층 더 필터링이 적용됩니다. 이 메소드는, 선택된 MBean 에 대해서,ObjectInstance
객체세트 (ObjectName
와 Java Class 명을 포함한다)를 돌려줍니다.
MBeanServerConnection
내의 queryMBeans
name
- 취득하는 MBean 를 식별하는 객체명 패턴. null 의 경우, 또는 도메인이나 키의 프로퍼티이 지정되어 있지 않은 경우는, 등록되어 모든 MBean 가 취득되는query
- MBean 의 선택에 적용되는 쿼리식. null 의 경우, MBean 의 선택에 쿼리식은 적용되지 않는다
ObjectInstance
객체를 포함한 세트. 쿼리의 조건을 채우는 MBean 가 존재하지 않는 경우, 빈 상태(empty)의 리스트가 반환된다Set <ObjectName > queryNames(ObjectName name, QueryExp query)
MBeanServerConnection
의 기술:ObjectName
나 Query 식의 패턴 매칭에 의해 지정된 MBean 세트의 이름, 특정의 MBean 의 이름의 어느쪽이든을 돌려줍니다. 이것에 의해, MBean 가 등록되어 있는지 어떤지를 판별할 수 있습니다. 객체명이 null 인 경우, 또는 도메인이나 키의 프로퍼티이 지정되어 있지 않은 경우, 모든 객체가 선택됩니다. 쿼리가 지정되고 있는 경우는, 한층 더 필터링이 적용됩니다. 이 메소드는, 선택된 MBean 에 대해서, ObjectName 세트를 돌려줍니다.
MBeanServerConnection
내의 queryNames
name
- 취득하는 MBean 명을 식별하는 객체명 패턴. null 의 경우, 또는 도메인이나 키의 프로퍼티이 지정되어 있지 않은 경우는, 등록되어 모든 MBean 의 이름이 취득되는query
- MBean 의 선택에 적용되는 쿼리식. null 의 경우, MBean 의 선택에 쿼리식은 적용되지 않는다
boolean isRegistered(ObjectName name)
MBeanServerConnection
의 기술:
MBeanServerConnection
내의 isRegistered
name
- 체크 대상의 MBean 의 객체명
Integer getMBeanCount()
MBeanServerConnection
내의 getMBeanCount
Object getAttribute(ObjectName name, String attribute) throws MBeanException , AttributeNotFoundException , InstanceNotFoundException , ReflectionException
MBeanServerConnection
의 기술:
MBeanServerConnection
내의 getAttribute
name
- MBean 의 객체명. 이 MBean 의 속성이 취득되는attribute
- 취득되는 속성의 이름을 지정하는 String
MBeanException
- MBean 의 취득 메소드에 의해 throw 되는 예외를 랩 하는 경우
AttributeNotFoundException
- MBean 의 지정된 속성이 액세스 불능인 경우
InstanceNotFoundException
- 지정된 MBean 가 MBean 서버에 등록되지 않은 경우
ReflectionException
- 설정 메소드의 호출시에 throw 되는 java.lang.Exception
를 랩 하는 경우MBeanServerConnection.setAttribute(javax.management.ObjectName, javax.management.Attribute)
AttributeList getAttributes(ObjectName name, String [] attributes) throws InstanceNotFoundException , ReflectionException
MBeanServerConnection
의 기술:
MBeanServerConnection
내의 getAttributes
name
- MBean 의 객체명. 이 MBean 의 속성이 취득되는attributes
- 취득되는 속성의 리스트
InstanceNotFoundException
- 지정된 MBean 가 MBean 서버에 등록되지 않은 경우
ReflectionException
- Dynamic MBean 의 getAttributes 메소드의 호출시에 예외가 발생했을 경우MBeanServerConnection.setAttributes(javax.management.ObjectName, javax.management.AttributeList)
void setAttribute(ObjectName name, Attribute attribute) throws InstanceNotFoundException , AttributeNotFoundException , InvalidAttributeValueException , MBeanException , ReflectionException
MBeanServerConnection
의 기술:
MBeanServerConnection
내의 setAttribute
name
- MBean 명. 이 MBean 의 속성이 설정되는attribute
- 설정되는 속성의 ID 와 설정되는 값
InstanceNotFoundException
- 지정된 MBean 가 MBean 서버에 등록되지 않은 경우
AttributeNotFoundException
- MBean 의 지정된 속성이 액세스 불능인 경우
InvalidAttributeValueException
- 지정된 값이, 속성에 대한 유효한 값이 아닌 경우
MBeanException
- MBean 의 설정 메소드에 의해 throw 되는 예외를 랩 하는 경우
ReflectionException
- 설정 메소드의 호출시에 throw 되는 java.lang.Exception
를 랩 하는 경우MBeanServerConnection.getAttribute(javax.management.ObjectName, java.lang.String)
AttributeList setAttributes(ObjectName name, AttributeList attributes) throws InstanceNotFoundException , ReflectionException
MBeanServerConnection
의 기술:
MBeanServerConnection
내의 setAttributes
name
- MBean 의 객체명. 이 MBean 의 속성이 설정되는attributes
- 속성의 리스트. 속성의 리스트 (설정되는 속성의 ID 와 설정되는 값)
InstanceNotFoundException
- 지정된 MBean 가 MBean 서버에 등록되지 않은 경우
ReflectionException
- Dynamic MBean 의 getAttributes 메소드의 호출시에 예외가 발생했을 경우MBeanServerConnection.getAttributes(javax.management.ObjectName, java.lang.String[])
Object invoke(ObjectName name, String operationName, Object [] params, String [] signature) throws InstanceNotFoundException , MBeanException , ReflectionException
MBeanServerConnection
의 기술:
MBeanServerConnection
내의 invoke
name
- 메소드의 호출을 하는 MBean 의 객체명operationName
- 불려 가는 오퍼레이션의 이름params
- 오퍼레이션의 호출시로 설정되는 파라미터를 포함한 배열signature
- 오퍼레이션의 시그니챠를 포함한 배열. 클래스 객체의 로드에는, 오퍼레이션을 호출한 MBean 를 로드할 때와 같은 클래스 로더가 사용된다
InstanceNotFoundException
- 지정된 MBean 가 MBean 서버에 등록되지 않은 경우
MBeanException
- MBean 의 호출 메소드에 의해 throw 되는 예외를 랩 하는 경우
ReflectionException
- 메소드의 호출시에 throw 되는 java.lang.Exception
를 랩 하는 경우String getDefaultDomain()
MBeanServerConnection
의 기술:
MBeanServerConnection
내의 getDefaultDomain
String [] getDomains()
MBeanServerConnection
의 기술:MBean 가 현재 등록되어 있는 도메인의 리스트를 돌려줍니다. 반환되는 배열내에 캐릭터 라인이 포함되는 경우는, 그 캐릭터 라인과 동일한 getDomain()
를 가지는 ObjectName 로 1 개 이상의 MBean 가 등록되어 있습니다. 반환되는 배열내의 캐릭터 라인의 순서는 미정도리입니다.
MBeanServerConnection
내의 getDomains
void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException
MBeanServerConnection
의 기술:등록이 끝난 MBean 에 청취자를 추가합니다.
MBean 가 발행한 통지는, MBeanServer 에 의해 청취자에게 전송 됩니다. 통지의 소스가 MBean 객체의 참조가 되어 있는 경우, MBean 서버는, 이것을 MBean 의 ObjectName 로 옮겨놓습니다. 그 이외의 경우, 소스가 변경될 것은 없습니다.
MBeanServerConnection
내의 addNotificationListener
name
- 청취자가 추가되는 MBean 의 이름listener
- 등록이 끝난 MBean 가 발행한 통지를 처리하는 청취자 객체filter
- 필터 객체. 필터가 null 의 경우, 통지 처리전에 필터는 적용되지 않는handback
- 통지가 발행되었을 때 청취자에게 송신되는 문맥
InstanceNotFoundException
- 등록이 끝난 MBean 안에, 지정된 MBean 명이 없는 경우MBeanServerConnection.removeNotificationListener(ObjectName, NotificationListener)
,
MBeanServerConnection.removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException
MBeanServerConnection
의 기술:등록이 끝난 MBean 에 청취자를 추가합니다.
MBean 가 발행한 통지는, MBeanServer 에 의해 청취자에게 전송 됩니다. 통지의 소스가 MBean 객체의 참조가 되어 있는 경우, MBean 서버는, 이것을 MBean 의 ObjectName 로 옮겨놓습니다. 그 이외의 경우, 소스가 변경될 것은 없습니다.
통지를 받는 청취자 객체는, 이 메소드의 호출시로 지정된 이름으로 등록된 청취자 객체입니다. 그 후는 등록하지 않아도 계속 통지를 받습니다.
MBeanServerConnection
내의 addNotificationListener
name
- 청취자가 추가되는 MBean 의 이름listener
- 등록이 끝난 MBean 가 발행한 통지를 처리하는 청취자의 객체명filter
- 필터 객체. 필터가 null 의 경우, 통지 처리전에 필터는 적용되지 않는handback
- 통지가 발행되었을 때 청취자에게 송신되는 문맥
InstanceNotFoundException
- 등록이 끝난 MBean 안에, 통지 청취자 또는 통지 브로드 캐스터의 MBean 명이 없는 경우MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName)
,
MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, ObjectName listener) throws InstanceNotFoundException , ListenerNotFoundException
MBeanServerConnection
의 기술:청취자가, 다른 필터 또는 콜백에 의해 여러 차례 등록되었을 경우, 이 메소드는, 이것들 모든 등록을 삭제합니다.
MBeanServerConnection
내의 removeNotificationListener
name
- 청취자가 삭제되는 MBean 의 이름listener
- 삭제되는 청취자의 객체명
InstanceNotFoundException
- 등록이 끝난 MBean 안에, 지정된 MBean 명이 없는 경우
ListenerNotFoundException
- 청취자가 MBean 에 등록되지 않은 경우MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException , ListenerNotFoundException
MBeanServerConnection
의 기술:등록이 끝난 MBean 로부터 청취자를 삭제합니다.
MBean 는, 지정된 listener
,filter
, 및 handback
파라미터와 정확하게 일치하는 청취자를 가지고 있을 필요가 있습니다. 해당하는 청취자가 복수 존재하는 경우, 그 중의 1 개(살)만이 삭제됩니다.
삭제되는 청취자내에서 null 가 지정되고 있는 경우,filter
및 handback
파라미터는 null 가 됩니다.
MBeanServerConnection
내의 removeNotificationListener
name
- 청취자가 삭제되는 MBean 의 이름listener
- 삭제되는 청취자의 객체명filter
- 청취자의 추가시로 지정된 필터handback
- 청취자의 추가시로 지정된 핸드백
InstanceNotFoundException
- 등록이 끝난 MBean 안에, 지정된 MBean 명이 없는 경우
ListenerNotFoundException
- 청취자가 MBean 에 등록되지 않은 경우, 또는 지정된 필터 및 핸드백으로 등록되지 않은 경우MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, NotificationListener listener) throws InstanceNotFoundException , ListenerNotFoundException
MBeanServerConnection
의 기술:등록이 끝난 MBean 로부터 청취자를 삭제합니다.
청취자가, 다른 필터 또는 콜백에 의해 여러 차례 등록되었을 경우, 이 메소드는, 이것들 모든 등록을 삭제합니다.
MBeanServerConnection
내의 removeNotificationListener
name
- 청취자가 삭제되는 MBean 의 이름listener
- 삭제되는 청취자
InstanceNotFoundException
- 등록이 끝난 MBean 안에, 지정된 MBean 명이 없는 경우
ListenerNotFoundException
- 청취자가 MBean 에 등록되지 않은 경우MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException , ListenerNotFoundException
MBeanServerConnection
의 기술:등록이 끝난 MBean 로부터 청취자를 삭제합니다.
MBean 는, 지정된 listener
,filter
, 및 handback
파라미터와 정확하게 일치하는 청취자를 가지고 있을 필요가 있습니다. 해당하는 청취자가 복수 존재하는 경우, 그 중의 1 개(살)만이 삭제됩니다.
삭제되는 청취자내에서 null 가 지정되고 있는 경우,filter
및 handback
파라미터는 null 가 됩니다.
MBeanServerConnection
내의 removeNotificationListener
name
- 청취자가 삭제되는 MBean 의 이름listener
- 삭제되는 청취자filter
- 청취자의 추가시로 지정된 필터handback
- 청취자의 추가시로 지정된 핸드백
InstanceNotFoundException
- 등록이 끝난 MBean 안에, 지정된 MBean 명이 없는 경우
ListenerNotFoundException
- 청취자가 MBean 에 등록되지 않은 경우, 또는 지정된 필터 및 핸드백으로 등록되지 않은 경우MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
MBeanInfo getMBeanInfo(ObjectName name) throws InstanceNotFoundException , IntrospectionException , ReflectionException
MBeanServerConnection
의 기술:
MBeanServerConnection
내의 getMBeanInfo
name
- 분석 대상의 MBean 의 이름
MBeanInfo
의 인스턴스. 이 MBean 의 모든 속성과 오퍼레이션의 취득을 허가한다
InstanceNotFoundException
- 지정된 MBean 가 발견되지 않았던 경우
IntrospectionException
- 인트로스페크션중에 예외가 발생했을 경우
ReflectionException
- Dynamic MBean 의 getMBeanInfo 메소드의 호출시에 예외가 발생했을 경우boolean isInstanceOf(ObjectName name, String className) throws InstanceNotFoundException
MBeanServerConnection
의 기술:지정된 MBean 가 지정된 클래스의 인스턴스인 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다.
name
가 MBean 를 지정하고 있지 않는 경우, 이 메소드는 InstanceNotFoundException
를 throw 합니다.
그 이외의 경우,
X 는 name
로 지정된 MBean,
L 는 X 의 ClassLoader,
N 는 X MBeanInfo
내의 클래스명이 됩니다.
N 가 className
와 동일한 경우, 결과는 true 입니다.
그 이외의 경우, L 가 className
를 정상적으로 로드해, X 가 이 클래스의 인스턴스인 경우, 결과는 true 입니다.
그 이외의 경우, L 가 N 와 className
의 양쪽 모두를 정상적으로 로드해, 최초의 클래스로부터 2 번째의 클래스를 할당할 수가 있는 경우, 결과는 true 입니다.
그 이외의 경우, 결과는 false 입니다.
MBeanServerConnection
내의 isInstanceOf
name
- MBean 의 ObjectName
className
- 클래스의 이름
InstanceNotFoundException
- 지정된 MBean 가 MBean 서버에 등록되지 않은 경우Class.isInstance(java.lang.Object)
Object instantiate(String className) throws ReflectionException , MBeanException
MBean 서버클래스 로더 리포지터리(repository)
내에 등록된 모든 클래스 로더의 리스트를 사용해, 객체를 인스턴스화합니다. 객체의 클래스는, public 생성자 을 가지고 있지 않으면 안됩니다. 이 메소드는, 새롭게 생성된 객체의 참조를 돌려줍니다. 새롭게 생성된 객체는, MBean 서버에 등록되어 있지 않습니다.
이 메소드는,instantiate(className, (Object[]) null, (String[]) null)
라고 동등합니다.
className
- 인스턴스화하는 객체의 클래스명
ReflectionException
- 객체의 생성자 의 호출시에 발행되는 java.lang.ClassNotFoundException
또는 java.lang.Exception
를 랩 하는 경우
MBeanException
- 객체의 생성자 이 예외를 throw 했을 경우
RuntimeOperationsException
- java.lang.IllegalArgumentException
를 랩 하는 경우. 즉, 파라미터에게 건네지는 className 가 null 의 경우Object instantiate(String className, ObjectName loaderName) throws ReflectionException , MBeanException , InstanceNotFoundException
ObjectName
로 지정된 클래스 로더를 사용해, 객체를 인스턴스화합니다. 로더명이 null 의 경우, MBean 서버의 로드에 사용된 ClassLoader 가 사용됩니다. 객체의 클래스는, public 생성자 을 가지고 있지 않으면 안됩니다. 이 메소드는, 새롭게 생성된 객체의 참조를 돌려줍니다. 새롭게 생성된 객체는, MBean 서버에 등록되어 있지 않습니다.
이 메소드는,instantiate(className, loaderName, (Object[]) null, (String[]) null)
라고 동등합니다.
className
- 인스턴스화하는 MBean 의 클래스명loaderName
- 사용하는 클래스 로더의 객체명
ReflectionException
- 객체의 생성자 의 호출시에 발행되는 java.lang.ClassNotFoundException
또는 java.lang.Exception
를 랩 하는 경우
MBeanException
- 객체의 생성자 이 예외를 throw 했을 경우
InstanceNotFoundException
- 지정된 클래스 로더가 MBeanServer 에 등록되지 않은 경우
RuntimeOperationsException
- java.lang.IllegalArgumentException
를 랩 하는 경우. 즉, 파라미터에게 건네지는 className 가 null 의 경우Object instantiate(String className, Object [] params, String [] signature) throws ReflectionException , MBeanException
MBean 서버클래스 로더 리포지터리(repository)
내에 등록된 모든 클래스 로더의 리스트를 사용해, 객체를 인스턴스화합니다. 객체의 클래스는, public 생성자 을 가지고 있지 않으면 안됩니다. 이 호출은, 새롭게 생성된 객체의 참조를 돌려줍니다. 새롭게 생성된 객체는, MBean 서버에 등록되어 있지 않습니다.
className
- 인스턴스화하는 객체의 클래스명params
- 불려 가는 생성자 의 파라미터를 포함한 배열signature
- 생성자 의 시그니챠를 포함한 배열. 이 배열이 불려 간다
ReflectionException
- 객체의 생성자 의 호출시에 발행되는 java.lang.ClassNotFoundException
또는 java.lang.Exception
를 랩 하는 경우
MBeanException
- 객체의 생성자 이 예외를 throw 했을 경우
RuntimeOperationsException
- java.lang.IllegalArgumentException
를 랩 하는 경우. 즉, 파라미터에게 건네지는 className 가 null 의 경우Object instantiate(String className, ObjectName loaderName, Object [] params, String [] signature) throws ReflectionException , MBeanException , InstanceNotFoundException
객체를 인스턴스화합니다. 사용하는 클래스 로더는, 객체명으로 식별됩니다. 로더의 객체명이 null 의 경우, MBean 서버의 로드에 사용한 ClassLoader 가 사용됩니다. 객체의 클래스는, public 생성자 을 가지고 있지 않으면 안됩니다. 이 호출은, 새롭게 생성된 객체의 참조를 돌려줍니다. 새롭게 생성된 객체는, MBean 서버에 등록되어 있지 않습니다.
className
- 인스턴스화하는 객체의 클래스명params
- 불려 가는 생성자 의 파라미터를 포함한 배열signature
- 생성자 의 시그니챠를 포함한 배열. 이 배열이 불려 가는loaderName
- 사용하는 클래스 로더의 객체명
ReflectionException
- 객체의 생성자 의 호출시에 발행되는 java.lang.ClassNotFoundException
또는 java.lang.Exception
를 랩 하는 경우
MBeanException
- 객체의 생성자 이 예외를 throw 했을 경우
InstanceNotFoundException
- 지정된 클래스 로더가 MBean 서버에 등록되지 않은 경우
RuntimeOperationsException
- java.lang.IllegalArgumentException
를 랩 하는 경우. 즉, 파라미터에게 건네지는 className 가 null 의 경우@Deprecated ObjectInputStream deserialize(ObjectName name, byte[] data) throws InstanceNotFoundException , OperationsException
getClassLoaderFor
를 사용해, 직렬화 복원에 사용하는 적절한 클래스 로더를 가져옵니다.
MBean 의 클래스 로더의 문맥으로, 바이트 배열을 직렬화 복원합니다.
name
- MBean 의 이름. 이 MBean 의 클래스 로더를 사용해, 직렬화 복원을 하는data
- 직렬화 복원의 대상이 되는 바이트 배열
InstanceNotFoundException
- 지정된 MBean 가 발견되지 않는 경우
OperationsException
- 입출력에 관련한 예외중 한쪽이 발생했을 경우@Deprecated ObjectInputStream deserialize(String className, byte[] data) throws OperationsException , ReflectionException
getClassLoaderRepository()
를 사용해 클래스 로더 리포지터리(repository)를 취득해, 이것을 사용해 직렬화 복원을 실시합니다.
지정된 MBean 클래스 로더의 문맥으로, 바이트 배열의 직렬화 복원을 실시합니다. 클래스 로더를 검색하려면 ,클래스 로더 리포지터리(repository)
를 사용해 className
클래스를 로드합니다. 이 클래스의 클래스 로더가 사용됩니다.
className
- 클래스의 이름. 이 클래스의 클래스 로더를 사용해, 직렬화 복원을 하는data
- 직렬화 복원의 대상이 되는 바이트 배열
OperationsException
- 입출력에 관련한 예외중 한쪽이 발생했을 경우
ReflectionException
- 지정된 클래스가 클래스 로더 리포지터리(repository)에 로드 되지 않는 경우@Deprecated ObjectInputStream deserialize(String className, ObjectName loaderName, byte[] data) throws InstanceNotFoundException , OperationsException , ReflectionException
getClassLoader
를 사용해, 직렬화 복원에 사용하는 클래스 로더를 가져옵니다.
지정된 MBean 클래스 로더의 문맥으로, 바이트 배열의 직렬화 복원을 실시합니다. 이 클래스 로더는, className 라는 이름으로 클래스를 로드한 클래스 로더입니다. 지정된 클래스의 로드에 사용된 클래스 로더의 이름이 사용됩니다. null 의 경우, MBean 서버의 클래스 로더가 사용됩니다.
className
- 클래스의 이름. 이 클래스의 클래스 로더를 사용해, 직렬화 복원을 하는data
- 직렬화 복원의 대상이 되는 바이트 배열loaderName
- 지정된 클래스의 로드에 사용되는 클래스 로더의 이름. null 의 경우, MBean 서버의 클래스 로더가 사용된다
InstanceNotFoundException
- 지정된 클래스 로더 MBean 가 발견되지 않는 경우
OperationsException
- 입출력에 관련한 예외중 한쪽이 발생했을 경우
ReflectionException
- 지정된 클래스가 지정된 클래스 로더에 로드 되지 않는 경우ClassLoader getClassLoaderFor(ObjectName mbeanName) throws InstanceNotFoundException
지정된 MBean 의 클래스의 로드에 사용된 ClassLoader
를 돌려줍니다.
mbeanName
- MBean 의 ObjectName
. loadClass(s)
의 결과가 임의의 캐릭터 라인 s 의 l. loadClass(s)
에 일치
InstanceNotFoundException
- 지정된 MBean 가 발견되지 않는 경우ClassLoader getClassLoader(ObjectName loaderName) throws InstanceNotFoundException
지정된 ClassLoader
를 돌려줍니다.
loaderName
- ClassLoader 의 ObjectName. null 의 경우, MBean 서버 고유의 ClassLoader 가 반환된다
. loadClass(s)
의 결과가 임의의 캐릭터 라인 s 의 l. loadClass(s)
에 일치
InstanceNotFoundException
- 지정된 ClassLoader 가 발견되지 않는 경우ClassLoaderRepository getClassLoaderRepository()
이 MBeanServer 의 ClassLoaderRepository 를 돌려줍니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.