|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
참조처:
설명
인터페이스의 개요 | |
---|---|
Descriptor | JMX 요소의 추가 메타데이타. |
DescriptorAccess | 이 인터페이스는, JMX 컴퍼넌트에 관련지을 수 있었던 Descriptor 클래스의 기술자 (MBean, MBeanInfo, MBeanAttributeInfo, MBeanNotificationInfo, MBeanOperationInfo, MBeanParameterInfo)에게 액세스 하는 목적으로 사용됩니다. |
DescriptorRead | MBeanInfo 등의 관리 인터페이스 요소의 Descriptor 를 읽어내기 위한 인터페이스입니다. |
DynamicMBean | Dynamic MBean (동적 관리 인터페이스를 공개하는 MBean)에 구현하는 메소드를 정의합니다. |
MBeanRegistration | MBean 서버에의 등록 또는 MBean 서버로부터의 등록 해제의 전후에 다양한 오퍼레이션을 실행하기 위해(때문에), MBean 에 의해 구현됩니다. |
MBeanServer | 에이전트측에서 MBean 를 조작하기 위한 인터페이스입니다. |
MBeanServerConnection | 이 인터페이스는, MBean 서버 (로컬 또는 원격)와의 통신 방법을 나타냅니다. |
MBeanServerDelegateMBean | MBeanServerDelegate 클래스의 객체의 관리 인터페이스를 정의합니다. |
NotificationBroadcaster | Notification 를 발행하는 MBean 가 구현하고 있는 인터페이스. |
NotificationEmitter | Notification 를 발행하는 MBean 가 구현하고 있는 인터페이스. |
NotificationFilter | 통지 필터로서 기능하는 모든 클래스에 의해 구현됩니다. |
NotificationListener | 통지의 수신을 바라는 객체에 의해 구현될 필요가 있습니다. |
PersistentMBean | 이 클래스는, MBean 에 의해 구현되는 인터페이스 (지속 인터페이스)입니다. |
QueryExp | 데이타베이스 쿼리 「where clauses」내에서 사용 가능한 관계 제약을 나타냅니다. |
ValueExp | 관계식의 인수로서 건네줄 수가 있는 값을 나타냅니다. |
클래스의 개요 | |
---|---|
Attribute | 이름과 값을 관련짓는 것으로, MBean 속성을 표현합니다. |
AttributeChangeNotification | MBean 에 의해 송신되는 속성 변경 통지를 정의합니다. |
AttributeChangeNotificationFilter | 이 클래스는,속성 변경 통지 NotificationFilter 인터페이스를 구현합니다. |
AttributeList | MBean 의 속성의 값의 리스트를 나타냅니다. |
AttributeValueExp | 관계 제약의 인수로서 사용되는 속성을 나타냅니다. |
DefaultLoaderRepository | 추천 되고 있지 않습니다. 대신에,
MBeanServer.getClassLoaderRepository()
(을)를 사용합니다. |
ImmutableDescriptor | 불변 기술자 |
JMX | JMX API 로부터의 static 메소드입니다. |
MBeanAttributeInfo | 관리용으로서 공개되는 MBean 속성을 기술합니다. |
MBeanConstructorInfo | MBean 에 의해 공개되는 생성자 을 기술합니다. |
MBeanFeatureInfo | MBean 기술 객체에 일반 정보를 제공합니다. |
MBeanInfo | MBean 에 의해 공개된 관리 인터페이스 (관리 오퍼레이션에 사용할 수 있는 속성과 조작세트)를 기술합니다. |
MBeanNotificationInfo | MBeanNotificationInfo 클래스는, MBean 에 의해 발행된, 지정의 통지 Java 클래스에 대한 복수가 다른 통지 인스턴스의 특성을 기술합니다. |
MBeanOperationInfo | MBean 에 의해 공개되는 관리 오퍼레이션을 기술합니다. |
MBeanParameterInfo | MBean 에 의해 공개되는 오퍼레이션의 인수를 기술합니다. |
MBeanPermission | MBeanServer 오퍼레이션의 액세스를 제어하는 액세스권입니다. |
MBeanServerBuilder | 이 클래스는, 디폴트 MBeanServer 구현을 작성하는 빌더를 나타냅니다. |
MBeanServerDelegate | 관리의 시점에서 MBean 서버를 표현합니다. |
MBeanServerFactory | MBean 서버 참조를 제공합니다. |
MBeanServerInvocationHandler | MBean 의 관리 인터페이스내에서, MBean 서버로부터 MBean 에 메소드를 건네주는 InvocationHandler 입니다. |
MBeanServerNotification | MBean 서버에 의해, MBeanServerDelegate MBean 로부터 발행되는 통지를 나타냅니다. |
MBeanServerPermission | MBeanServer 관련의 액션을 실행하기 위한 액세스권. |
MBeanTrustPermission | 이 액세스권은, 서명자 또는 코드 베이스의 「trust」를 나타냅니다. |
Notification | Notification 클래스는, MBean 가 발행하는 통지를 나타냅니다. |
NotificationBroadcasterSupport | NotificationEmitter 인터페이스의 구현을 제공합니다. |
NotificationFilterSupport | NotificationFilter 인터페이스의 구현을 제공합니다. |
ObjectInstance | MBean 의 객체명과 클래스명을 나타냅니다. |
ObjectName | MBean 의 객체명, 또는 복수의 MBean 명에 일치하는 패턴을 나타냅니다. |
Query | 쿼리객체 제약을 구축합니다. |
QueryEval | 특정의 MBean 서버의 문맥으로 쿼리를 실행합니다. |
StandardEmitterMBean | Java 인터페이스의 리플렉션에 의해 관리 인터페이스를 결정해, 통지를 발행하는 MBean 입니다. |
StandardMBean | Java 인터페이스의 리플렉션에 의해 관리 인터페이스를 결정하는 MBean 입니다. |
StringValueExp | 관계 제약의 인수가 되는 캐릭터 라인을 나타냅니다. |
예외의 개요 | |
---|---|
AttributeNotFoundException | 지정된 속성이 존재하지 않는지, 취득할 수 없습니다. |
BadAttributeValueExpException | 쿼리를 작성하는 메소드에 무효인 MBean 속성이 건네받았을 경우에 throw 됩니다. |
BadBinaryOpValueExpException | 쿼리를 작성하는 메소드에 무효인 식이 건네받았을 경우에 throw 됩니다. |
BadStringOperationException | 쿼리를 작성하는 메소드에 무효인 캐릭터 라인 오퍼레이션이 건네받았을 경우에 throw 됩니다. |
InstanceAlreadyExistsException | MBean 는 벌써 레포지트리에 등록되어 있습니다. |
InstanceNotFoundException | 지정된 MBean 가 리포지터리(repository)내에 존재하지 않습니다. |
IntrospectionException | MBean 의 인트로스페크션의 실행시에 발생한 예외입니다. |
InvalidApplicationException | MBean 의 서브 쿼리의 식 또는 MBean 의 수식 속성의 식의 클래스가 잘못되어 있는 경우에 throw 됩니다. |
InvalidAttributeValueException | 지정된 값은, 속성에 대한 유효한 값이 아닙니다. |
JMException | JMX 구현으로부터 throw 되는 예외입니다. |
JMRuntimeException | JMX 구현으로부터 반환되는 실행시 예외입니다. |
ListenerNotFoundException | 지정된 MBean 청취자가 리포지터리(repository)내에 존재하지 않습니다. |
MalformedObjectNameException | 캐릭터 라인의 형식이 유효한 ObjectName 에 대응하고 있습니다. |
MBeanException | 에이전트내의 MBean 메소드에 의해 throw 되는 사용자 정의의 예외를 나타냅니다. |
MBeanRegistrationException | MBeanRegistration 인터페이스의 preRegister() 메소드와 preDeregister() 메소드에 의해 throw 되는 예외를 랩 합니다. |
NotCompliantMBeanException | MBean 서버에 JMX 준거의 MBean 가 아닌 객체를 등록하려고 했을 경우에 발행되는 예외입니다. |
OperationsException | MBean 의 오퍼레이션의 실행시에, MBean 서버내에서 throw 되는 예외를 나타냅니다. |
ReflectionException | java.lang.reflect 클래스를 사용해 MBean 상의 메소드를 호출할 때, MBean 서버내에서 throw 되는 예외를 나타냅니다. |
RuntimeErrorException | 에이전트내에서 java.lang.Error 가 발생했을 경우, 캐치 해,RuntimeErrorException 으로서 재throw 할 필요가 있습니다. |
RuntimeMBeanException | 에이전트내의 MBean 메소드에 의해 throw 되는 실행시 예외를 나타냅니다. |
RuntimeOperationsException | MBean 로 오퍼레이션의 실행시에 에이전트내에서 throw 되는 실행시 예외를 나타냅니다. |
ServiceNotFoundException | 요구된 서비스가 지원되어 있지 않은 경우에 발행되는 예외를 나타냅니다. |
주석형의 개요 | |
---|---|
DescriptorKey | 주석 요소와 Descriptor 내의 필드와의 관계를 기술하는 메타 주석. |
MXBean | 인터페이스에 대해서, MXBean 인터페이스이다, 또는 MXBean 인터페이스는 아니라고 하는 마크를 명시적으로 붙이기 위한 주석입니다. |
Java Management Extensions 의 코어 클래스를 제공합니다.
Java Management Extensions (JMXTM) API 는, 관리 및 감시용의 표준 API 입니다. 일반적으로, 다음의 용도로 사용됩니다.
JMX API 는, 시스템이나 네트워크의 관리 솔루션에도 사용됩니다.
remote administration 프로그램은, JMX API 의 원격 접근 기능을 이용해, 실행중의 어플리케이션에 원격 접근 할 수 있습니다.
JMX API 의 기본 개념은 「MBean」입니다. MBean 는, 자원을 나타내는 이름 첨부의 관리 객체입니다. 다음과 같은 관리 인터페이스를 가집니다.
예를 들어, 어플리케이션의 구성을 나타내는 MBean 는, 복수가 다른 구성 항목을 나타내는 속성을 가질 수가 있습니다. CacheSize
속성을 읽어냈을 경우, 그 항목의 현재의 값이 돌려주어집니다. 동속성을 기입했을 경우, 항목이 갱신되어 실행중의 어플리케이션의 동작이 변화할 가능성이 있습니다. save
등의 오퍼레이션을 실행해, 현재의 구성을 영속적으로 포함할 수가 있습니다. ConfigurationChangedNotification
등의 통지는, 구성의 변경마다 송신할 수 있습니다.
JMX API 의 표준적인 사용 방법에서는, MBean 는 Java 객체로서 구현됩니다. 그러나, 다음에 설명하는 대로, 일반적으로 이러한 객체가 직접 참조될 것은 없습니다.
MBean 구현을 단순화 하기 위한(해), JMX API 에는 「Standard MBean」의 개념이 도입되고 있습니다. StandardMBean 는, JavaBeansTM의 네이밍 패턴과 자주(잘) 닮은 네이밍 패턴을 사용해 Java 인터페이스로부터 속성과 오퍼레이션을 추측할 수 있는 MBean입니다. 예를 들어, 다음과 같은 인터페이스가 있다고 합니다.
public interface ConfigurationMBean { public int getCacheSize(); public void setCacheSize(int size); public long getLastChangedTime(); public void save(); }
getCacheSize
메소드와 setCacheSize
메소드는,int
형으로 불려 간 CacheSize
(JavaBeans 의 규칙과는 달라, 최초의 문자가 알파벳의 대문자)의 읽어내 기입 속성을 정의합니다.
getLastChangedTime
메소드는,long
형으로 불려 간 LastChangedTime
의 속성을 정의합니다. 이것은,setLastChangedTime
메소드가 존재하지 않기 때문에, 읽기 전용 속성입니다.
save
메소드는, 오퍼레이션으로 불려 간 save
를 정의합니다. get
,set
, 또는 is
로 시작되는 이름을 가지지 않기 때문에, 속성이 아닙니다.
Standard MBean 의 정확한 네이밍 패턴의 상세한 것에 대하여는,JMX 스펙을 참조해 주세요.
이 관리 인터페이스로, MBean 인 Java 객체를 작성하는 방법은 2 방법 존재합니다. 1 개(살)은, Java 인터페이스의 이름으로부터 MBean
접미사(suffix)을 제외한 이름을 가지는 클래스에 속하는 객체를 작성하는 방법입니다. 예에서는, 객체는,ConfigurationMBean
와 같은 Java 패키지의 Configuration
클래스에 속하게 됩니다. 이제(벌써) 1개의 방법에서는,StandardMBean
클래스를 사용합니다.
MXBean 는 Standard MBean 의 파생형입니다. MXBean 에서는, 복잡한 형태는 javax.management.openmbean
패키지로 정의된 표준 세트의 형태에 매핑 됩니다. MXBean 의 사용이 적절한 경우는, 그것을 사용하지 않으면 MBean 인터페이스로 어플리케이션 고유의 클래스를 참조할 필요가 있는 경우입니다. 자세한 것은,MXBean
의 스펙을 참조해 주세요.
Dynamic MBean 는, 관리 인터페이스를 실행시에 정의하는 MBean 입니다. 예를 들어, 구성 MBean 는, XML 파일의 해석에 의해, 공개하는 속성의 이름과 형태를 결정할 수 있습니다.
DynamicMBean
인터페이스를 구현하는 클래스의 Java 객체는 Dynamic MBean 가 됩니다.
Open MBean 는 Dynamic MBean 의 일종이며, 그 속성 및 오퍼레이션 파라미터의 형태와 반환값은, 몇개의 사전 정의 끝난 Java 클래스를 사용해 구축됩니다. Open MBean 는, 어플리케이션 고유의 형태 (비 Java 프로그램을 포함한다)에 반드시 액세스 할 수 있다고는 할 수는 없는 remote administration 프로그램을 사용해, 오퍼레이션을 간편화합니다. Open MBean 는, 패키지 javax.management.openmbean
로 정의됩니다.
Model MBean 는, 관리 인터페이스와 부하의 관리 대상 자원의 브릿지로서 기능하는 Dynamic MBean 의 일종입니다. 관리 인터페이스와 관리 대상 자원은, 어느쪽이나 Java 객체로서 지정됩니다. 복수가 다른 관리 인터페이스 및 관리 대상 자원으로, 같은 Model MBean 구현을 반복해 이용할 수 있습니다. 또, Model MBean 구현은, 지속성 기능, 캐싱 기능등의 공통 기능을 제공할 수 있습니다. Model MBean 는, 패키지 javax.management.modelmbean
로 정의됩니다.
MBean 를 사용하기 위해서는, MBean 서버에 등록할 필요가 있습니다. MBean 서버는, MBean의 리포지터리(repository)입니다. 일반적으로, MBean 서버를 이용하지 않으면, MBean 에는 액세스 할 수 없습니다. 코드는, MBean 를 직접 구현하는 Java 객체에 액세스 하는 대신에, MBean 의 이름을 지정해 MBean 서버 경유로 MBean 에 액세스 하게 되었습니다. 각 MBean 는, MBean 서버내에,ObjectName
클래스에 의해 정의된 일의의 이름을 가집니다.
MBean 서버는,MBeanServer
인터페이스를 구현하는 객체입니다. 무엇보다 편리한 MBean 서버는,Platform MBean Server 입니다. 이것은, 단일의 Java 가상 머신내에서 동작하는 다른 관리 컴퍼넌트로 공유 가능한 단독의 MBean 서버입니다. Platform MBean Server 에는,ManagementFactory.getPlatformMBeanServer()
메소드로 액세스 합니다.
어플리케이션 코드에서도,javax.management.MBeanServerFactoryMBeanServerFactory
클래스를 사용해 새로운 MBean 서버를 작성하거나 기존의 MBean 서버에 액세스 하거나 할 수 있습니다.
MBean 는 2 방법의 방법으로 작성할 수 있습니다. 우선, MBean 로 하는 Java 객체를 구축해,registerMBean
메소드를 사용해, 이 Java 객체를 MBean 서버에 등록하는 방법이 있습니다. 이제(벌써) 1 개의 방법에서는, 몇개의 createMBean
메소드를 사용해, 단일의 오퍼레이션으로 MBean를 작성해, 등록합니다.
registerMBean
메소드는, 로컬에서는 간단하게 사용할 수 있습니다만, 원격에서는 사용할 수 없습니다. createMBean
메소드는 원격로부터 사용할 수 있습니다만, 클래스 로딩의 문제에 주의를 향하는 것이 필요한 경우도 있습니다.
MBeanRegistration
인터페이스를 구현하고 있는 MBean 는, MBean 서버에의 등록시 또는 MBean 서버로부터의 등록 해제시에 액션을 실행할 수 있습니다.
다음의 예의 같게,ObjectName
name
와 MBeanServer
mbs
를 지정하는 것으로써, 속성과 오퍼레이션에 액세스 할 수 있습니다.
int cacheSize = mbs.getAttribute(name, "CacheSize");
Attribute
newCacheSize =
new Attribute("CacheSize", new Integer(2000));
mbs.setAttribute(name, newCacheSize);
mbs.invoke(name, "save", new Object[0], new Class[0]);
MBean 의 관리 인터페이스에 대응하는 Java 인터페이스가 있는 경우는, 다음과 같이, MBean 프록시를 이용할 수 있습니다.
ConfigurationMBean conf =
JMX.newMBeanProxy
(mbs, name, ConfigurationMBean.class);
int cacheSize = conf.getCacheSize();
conf.setCacheSize(2000);
conf.save();
MBean 프록시는 매우 편리합니다. 2 번째의 예에서는, 최초의 예와 같은 MBeanServer
오퍼레이션을 호출합니다.
MBean 서버로, 특정의 패턴에 일치하는 이름을 가지는 MBean 나, 특정의 제약을 채우는 속성을 가지는 MBean를 조회할 수 있습니다. 이름 패턴의 구축에는 ObjectName
클래스를 사용해, 제약의 구축에는 Query
클래스를 사용합니다. 그 후,queryNames
메소드와 queryMBeans
메소드에 의해 쿼리가 실행됩니다.
통지는,Notification
클래스 또는 서브 클래스의 인스턴스입니다. Java 클래스에 가세해, 같은 클래스의 통지의 구별로 사용하는 형태 캐릭터 라인을 가지고 있습니다.
통지를 발행하는 MBean 는,javax.management.NotificationBroadcasterNotificationBroadcaster
또는 NotificationEmitter
인터페이스를 구현할 필요가 있습니다. 일반적으로, 이러한 인터페이스를 구현하기 위해서,javax.management.NotificationBroadcasterSupportNotificationBroadcasterSupport
의 서브 클래스화인가, 이 클래스의 인스턴스의 위양을 합니다.
통지는, 「청취자」를 사용해 수신할 수 있습니다. 청취자는,NotificationListener
인터페이스를 구현하는 객체입니다. MBeanServer.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
메소드를 사용해, MBean에 청취자를 추가할 수 있습니다. 이 메소드에 필터를 적용해, 필요한 통지만을 선택할 수도 있습니다. 필터는,NotificationFilter
인터페이스를 구현하는 객체입니다.
MBean 는, 같은 MBean 서버상의 그 외의 MBean에 의해 발행되는 통지의 청취자가 될 수가 있습니다. 이 경우, MBean 는,NotificationListener
를 구현해,MBeanServer.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
메소드를 이용해 통지를 대기합니다.
MBean 서버에는, 연결기 경유로 원격 접근 할 수 있습니다. 연결기를 사용하면(자), 원격의 Java 어플리케이션이, 로컬의 Java 어플리케이션과 실질적으로 같은 방법으로 MBean 서버에 액세스 할 수 있습니다. 연결기는,javax.management.remote
패키지에 정의되고 있습니다.
JMX 스펙에는, 어댑터의 개념도 정의되고 있습니다. 어댑터는, SNMP 나 HTML 등의 요구의 프로토콜을 변환해, MBean 서버에 액세스 합니다. 이 때문에, 예를 들어 SNMP GET 오퍼레이션에 의해, MBean 서버상에서 getAttribute
가 실행됩니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.