|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.management.MBeanServerFactory
public class MBeanServerFactory
MBean 서버 참조를 제공합니다. 이 클래스의 인스턴스는 존재하지 않습니다.
JMX 1.2 이후, 이 클래스를 사용해, 디폴트의 MBeanServer 구현을 옮겨놓을 수가 있게 되어 있습니다. 이 처리는,MBeanServerBuilder
클래스를 사용해 행해집니다. 최초로 인스턴스화 되는 MBeanServerBuilder 의 클래스는, 시스템 프로퍼티 javax.management.builder.initial 로 지정할 수 있습니다. 빈 상태(empty)의 public 생성자 을 가지는,MBeanServerBuilder
의 public 서브 클래스를 지정할 필요가 있습니다.
디폴트에서는, 프로퍼티의 값이 지정되어 있지 않은 경우,javax.management.MBeanServerBuilder
의 인스턴스가 작성됩니다. MBeanServerFactory 는, 프로퍼티의 값이 지정되고 있는 경우는,Thread.currentThread(). getContextClassLoader()
를 사용해 지정된 클래스를 로드하려고 합니다. 프로퍼티의 값으로 해서 null 가 지정되고 있는 경우는,Thread.currentThread(). getContextClassLoader()
는 아니고 Class.forName()
을 사용합니다. 계속되어,Class.newInstance()
를 사용해, 그 Class 의 초기 인스턴스를 작성합니다. 이 처리동안에 확인 끝난 예외 (ClassNotFoundException
,InstantiationException
등)가 발생했을 경우는, 이 예외를 RuntimeException 내에 보냅니다.
javax.management.builder.initial 시스템 프로퍼티은, 새로운 MBeanServer 를 작성할 필요가 있는 경우와 이 프로퍼티이 포인트 하는 클래스가 로드 되었을 경우에 확인됩니다. 클래스가 현재의 MBeanServerBuilder 의 클래스가 아닌 경우, 새로운 MBeanServerBuilder 가 작성됩니다. 그 이외의 경우, MBeanServerFactory 는, 새로운 MBeanServerBuilder 를 작성하는지, 현재의 MBeanServerBuilder 를 재사용합니다.
이 프로퍼티이 포인트 하는 클래스를 로드할 수 없는 경우, 또는 MBeanServerBuilder 의 유효한 서브 클래스에 일치하고 있지 않는 경우, 예외가 throw 됩니다. 이 경우는,javax.management.builder.initial 시스템 프로퍼티을 유효한 값에 리셋 하지 않는 한, MBeanServer 를 작성할 수 없습니다.
MBeanServerBuilder 는, 시큐리티층을 추가하는 등의 목적으로, 디폴트의 MBeanServerBuilder 구현에 의해 반환되는 MBeanServers 를 랩 할 수 있도록(듯이) 합니다.
메소드의 개요 | |
---|---|
static MBeanServer |
createMBeanServer ()
표준의 디폴트 도메인명을 가지는 MBeanServer 인터페이스를 구현하는 새로운 객체를 돌려줍니다. |
static MBeanServer |
createMBeanServer (String domain)
지정의 디폴트 도메인명을 가지는 MBeanServer 인터페이스를 구현하는 새로운 객체를 돌려줍니다. |
static ArrayList <MBeanServer > |
findMBeanServer (String agentId)
등록을 마친 MBeanServer 객체의 리스트를 돌려줍니다. |
static ClassLoaderRepository |
getClassLoaderRepository (MBeanServer server)
지정의 MBeanServer 에 의해 사용되는 ClassLoaderRepository 를 돌려줍니다. |
static MBeanServer |
newMBeanServer ()
표준의 디폴트 도메인명을 가지는 MBeanServer 인터페이스를 구현하는 새로운 객체를 돌려줍니다. |
static MBeanServer |
newMBeanServer (String domain)
지정의 디폴트 도메인명을 가지는 MBeanServer 인터페이스를 구현하는 새로운 객체를 돌려줍니다. |
static void |
releaseMBeanServer (MBeanServer mbeanServer)
작성된 MBeanServer 의 내부 MBeanServerFactory 참조를 삭제합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
메소드의 상세 |
---|
public static void releaseMBeanServer(MBeanServer mbeanServer)
mbeanServer
- 삭제되는 MBeanServer 객체
IllegalArgumentException
- 다음의 조건이 성립하는 경우:
mbeanServer
가
createMBeanServer
메소드로 작성되어 있지 않은 경우, 또는
releaseMBeanServer
가 벌써 불려 가고 있는 경우
SecurityException
- SecurityManager 이 존재해,
호출원이 액세스권으로서 MBeanServerPermission
("releaseMBeanServer")
을 가지고 있지 않은 경우public static MBeanServer createMBeanServer()
표준의 디폴트 도메인명을 가지는 MBeanServer 인터페이스를 구현하는 새로운 객체를 돌려줍니다. 디폴트 도메인명은, 사용자가 도메인명으로서 null 를 지정했을 때, MBean 의 ObjectName 의 도메인 부분으로서 사용됩니다.
표준의 디폴트 도메인명은,DefaultDomain
입니다.
MBeanServer 참조는 내부에서 보관 유지됩니다. 이 때문에,findMBeanServer
는, 이 MBeanServer 객체의 참조를 돌려줄 수가 있습니다.
이 메소드는 createMBeanServer(null)
와 동등합니다.
SecurityException
- SecurityManager 가 존재해,
호출원이 액세스권으로서 MBeanServerPermission
("createMBeanServer")
을 가지고 있지 않은 경우
JMRuntimeException
- javax.management.builder.initial
프로퍼티은 존재하지만,
이 프로퍼티에 의해 지정된 클래스를 인수 없음의
public 생성자 으로 인스턴스화할 수 없는 경우.
또는, 인스턴스화 된 빌더가
newMBeanServerDelegate
또는 newMBeanServer
메소드로부터 null 를 돌려주는 경우
ClassCastException
- javax.management.builder.initial
프로퍼티이 존재해,
인스턴스화도 가능하지만,
MBeanServerBuilder
준거의 할당이 아닌 경우public static MBeanServer createMBeanServer(String domain)
지정의 디폴트 도메인명을 가지는 MBeanServer
인터페이스를 구현하는 새로운 객체를 돌려줍니다. 지정의 도메인명은, 사용자가 도메인명으로서 null 를 지정했을 때, MBean 의 ObjectName 의 도메인 부분으로서 사용됩니다.
MBeanServer 참조는 내부에서 보관 유지됩니다. 이 때문에,findMBeanServer
는, 이 MBeanServer 객체의 참조를 돌려줄 수가 있습니다.
domain
- 작성된 MBeanServer 의
디폴트 도메인명. 이 값이,MBeanServer.getDefaultDomain()
로부터 반환된다
SecurityException
- SecurityManager 가 존재해,
호출원이 액세스권으로서 MBeanServerPermission
("createMBeanServer")
을 가지고 있지 않은 경우
JMRuntimeException
- javax.management.builder.initial
프로퍼티은 존재하지만,
이 프로퍼티에 의해 지정된 클래스를
인수 없음의 public 생성자 으로 인스턴스화할 수 없는 경우.
또는, 인스턴스화 된 빌더가
newMBeanServerDelegate
또는 newMBeanServer
메소드로부터 null 를 돌려주는 경우
ClassCastException
- javax.management.builder.initial
프로퍼티이 존재해,
인스턴스화도 가능하지만,
MBeanServerBuilder
준거의 할당이 아닌 경우public static MBeanServer newMBeanServer()
표준의 디폴트 도메인명을 가지는 MBeanServer 인터페이스를 구현하는 새로운 객체를 돌려줍니다. 다만, 이 새로운 객체의 내부 참조는 보관 유지되지 않습니다. 디폴트 도메인명은, 사용자가 도메인명으로서 null 를 지정했을 때, MBean 의 ObjectName 의 도메인 부분으로서 사용됩니다.
표준의 디폴트 도메인명은,DefaultDomain
입니다.
참조는 보관 유지되지 않습니다. findMBeanServer
는, 이 MBeanServer 객체의 참조를 돌려줄 수 없습니다. 그러나, 가비지 컬렉터는, 이제 참조되지 않게 된 MBeanServer 객체를 삭제할 수 있습니다.
이 메소드는 newMBeanServer(null)
와 동등합니다.
SecurityException
- SecurityManager 가 존재해,
호출원이 액세스권으로서 MBeanServerPermission
("newMBeanServer")
을 가지고 있지 않은 경우
JMRuntimeException
- javax.management.builder.initial
프로퍼티은 존재하지만,
이 프로퍼티에 의해 지정된 클래스를
인수 없음의 public 생성자 으로 인스턴스화할 수 없는 경우.
또는, 인스턴스화 된 빌더가
newMBeanServerDelegate
또는 newMBeanServer
메소드로부터 null 를 돌려주는 경우
ClassCastException
- javax.management.builder.initial
프로퍼티이 존재해,
인스턴스화도 가능하지만,
MBeanServerBuilder
준거의 할당이 아닌 경우public static MBeanServer newMBeanServer(String domain)
지정의 디폴트 도메인명을 가지는 MBeanServer 인터페이스를 구현하는 새로운 객체를 돌려줍니다. 다만, 이 새로운 객체의 내부 참조는 보관 유지되지 않습니다. 지정의 도메인명은, 사용자가 도메인명으로서 null 를 지정했을 때, MBean 의 ObjectName 의 도메인 부분으로서 사용됩니다.
참조는 보관 유지되지 않습니다. findMBeanServer
는, 이 MBeanServer 객체의 참조를 돌려줄 수 없습니다. 그러나, 가비지 컬렉터는, 이제 참조되지 않게 된 MBeanServer 객체를 삭제할 수 있습니다.
domain
- 작성된 MBeanServer 의
디폴트 도메인명. 이 값이,MBeanServer.getDefaultDomain()
로부터 반환된다
SecurityException
- SecurityManager 가 존재해,
호출원이 액세스권으로서 MBeanServerPermission
("newMBeanServer")
을 가지고 있지 않은 경우
JMRuntimeException
- javax.management.builder.initial
프로퍼티은 존재하지만,
이 프로퍼티에 의해 지정된 클래스를
인수 없음의 public 생성자 으로 인스턴스화할 수 없는 경우.
또는, 인스턴스화 된 빌더가
newMBeanServerDelegate
또는 newMBeanServer
메소드로부터 null 를 돌려주는 경우
ClassCastException
- javax.management.builder.initial
프로퍼티이 존재해,
인스턴스화도 가능하지만,
MBeanServerBuilder
준거의 할당이 아닌 경우public static ArrayList <MBeanServer > findMBeanServer(String agentId)
등록을 마친 MBeanServer 객체의 리스트를 돌려줍니다. 등록을 마친 MBeanServer 객체는,createMBeanServer
메소드에 의해 작성되어 그 후 releaseMBeanServer
로 해제되어 있지 않은 객체입니다.
agentId
- 취득하는 MBeanServer 의
에이전트 식별자. 이 파라미터가 null 의 경우,
이 JVM 내의 등록을 마친 모든 MBeanServer 가 반환된다. 그 이외의 경우,
agentId
와 동일한 ID 를 가지는 MBeanServer 만이
반환된다. MBeanServer 의 ID 는,
위양 MBean 의 MBeanServerId
속성이다
SecurityException
- SecurityManager 가 존재해,
호출원이 액세스권으로서 MBeanServerPermission
("findMBeanServer")
을 가지고 있지 않은 경우public static ClassLoaderRepository getClassLoaderRepository(MBeanServer server)
server.getClassLoaderRepository()
와 동등합니다.
server
- 검사중의 MBeanServer. JMX 1.2 이후,
server
가 null
의 경우, 결과는
NullPointerException
가 된다. 이 동작은,
null
의 사용이 추천 되지 않는다
JMX 1.1 과는 다르다
SecurityException
- SecurityManager 가 존재해,
호출원이 액세스권으로서 MBeanPermission
("getClassLoaderRepository")
를 가지고 있지 않은 경우
NullPointerException
- server
가 null 의 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.