|
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 의 ObjectNameclassName - 클래스의 이름
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 도 참조해 주세요.