JavaTM Platform
Standard Ed. 6

javax.management.remote
클래스 JMXConnectorServerFactory

java.lang.Object 
  상위를 확장 javax.management.remote.JMXConnectorServerFactory


public class JMXConnectorServerFactory
extends Object

JMX API 연결기 서버를 작성하는 팩토리입니다. 이 클래스의 인스턴스는 존재하지 않습니다.

각 연결기 서버는,JMXConnectorServerProvider 의 인스턴스에 의해 작성됩니다. 지정된 JMXServiceURL"service:jmx:protocol:remainder" 와 같았다고 합시다. 팩토리는, 그 protocol 에 적절한 JMXConnectorServerProvider 의 검색을 실시합니다. protocol 에 포함되는 문자 +- 는, 각각 . (와)과 _ 로 옮겨놓을 수 있습니다.

「프로바이더 패키지 리스트」의 검색 순서는 다음과 같습니다.

  1. newJMXConnectorServerenvironment 파라미터에 키 jmx.remote.protocol.provider.pkgs 가 포함되는 경우, 관련지을 수 있고 있는 값이 프로바이더 패키지 리스트가 된다
  2. 그 이외의 경우로, 시스템 프로퍼티 jmx.remote.protocol.provider.pkgs 가 존재하는 경우, 그 값이 프로바이더 패키지 리스트가 된다
  3. 그 이외의 경우, 프로바이더 패키지 리스트는 존재하지 않는다

프로바이더 패키지 리스트는, 세로의 곧은 선 (|)으로 단락지어진 빈 상태(empty)이 아닌 Java 패키지명의 리스트라고 해석되는 캐릭터 라인입니다. 이 캐릭터 라인이 빈 상태(empty)의 경우, 프로바이더 패키지 리스트도 비웁니다. 프로바이더 패키지 리스트가 String 가 아닌 경우, 또는 공문자열을 요소로서 포함한 경우,JMXProviderException 가 throw 됩니다.

빈 상태(empty)이 아닌 프로바이더 패키지 리스트가 존재하는 경우, 팩토리에 의해, 리스트의 각 pkg 요소에 대해서, 클래스의 로드가 시행됩니다.

pkg. protocol. ServerProvider

newJMXConnectorServerenvironment 파라미터에 키 jmx.remote.protocol.provider.class.loader 가 포함되는 경우, 관련지을 수 있었던 값이 프로바이더를 로드하기 위한 클래스 로더가 됩니다. 관련지을 수 있었던 값이 ClassLoader 의 인스턴스가 아닌 경우는,IllegalArgumentException 가 throw 됩니다.

environment 파라미터내에 jmx.remote.protocol.provider.class.loader 키가 포함되지 않는 경우, 호출 thread의 컨텐츠 클래스 로더가 사용됩니다.

이 클래스의 로드시에 ClassNotFoundException 가 throw 되었을 경우, 핸들러의 검색은 리스트내의 다음의 요소에 인계됩니다.

그 이외의 경우,JMXProviderException 에 의해, 검출된 프로바이더에 관한 문제가 보고됩니다. 이 예외의 cause 는, 다음과 같이 잠재적인 예외를 나타냅니다.

프로바이더 패키지 리스트가 존재하지 않는 디폴트 상태를 포함해, 상기의 순서로 프로바이더가 검출되지 않았던 경우, 구현은 protocol 에 대해서 고유의 프로바이더를 사용합니다. 고유의 프로바이더가 없는 경우는,MalformedURLException 를 throw 합니다. 그 외의 방법으로 프로바이더를 검색할 수도 있습니다. 예를 들어, 서비스 인터페이스로서 JMXConnectorServerProvider 를 사용하는서비스 프로바이더의 JAR 규약이 지원되고 있습니다.

모든 구현은, 캐릭터 라인 rmi 또는 iiop 로 지정되는 RMI 연결기 프로토콜을 지원하고 있지 않으면 안됩니다.

프로바이더가 발견되었을 경우,newJMXConnectorServer 메소드의 결과가, 그 프로바이더상에서 newJMXConnectorServer 를 호출한 결과에 일치합니다.

JMXConnectorServerProvider 에게 건네진 Map 파라미터는,JMXConnectorServerFactory.newJMXConnectorServerenvironment 파라미터내에 있던 모든 엔트리를 포함한, 새로운 읽기 전용 Map 가 됩니다. 게다가environment 파라미터내에 jmx.remote.protocol.provider.class.loader 키가 존재하지 않는 경우, 새로운 읽기 전용 Map 에 추가됩니다. 호출 thread의 문맥 클래스 로더를 값으로 해서 관련지을 수 있습니다.

도입된 버젼:
1.5

필드의 개요
static String DEFAULT_CLASS_LOADER
          디폴트의 클래스 로더를 지정하는 속성의 이름입니다.
static String DEFAULT_CLASS_LOADER_NAME
          디폴트의 클래스 로더 MBean 명을 지정하는 속성의 이름입니다.
static String PROTOCOL_PROVIDER_CLASS_LOADER
          프로토콜 프로바이더를 로드하는 클래스 로더를 지정하는 속성의 이름입니다.
static String PROTOCOL_PROVIDER_PACKAGES
          프로토콜 핸들러의 검색시에 조회되는 프로바이더 패키지를 지정하는 속성의 이름입니다.
 
메소드의 개요
static JMXConnectorServer newJMXConnectorServer (JMXServiceURL  serviceURL, Map <String ,? > environment, MBeanServer  mbeanServer)
          지정된 주소의 연결기 서버를 작성합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

DEFAULT_CLASS_LOADER

public static final String  DEFAULT_CLASS_LOADER

디폴트의 클래스 로더를 지정하는 속성의 이름입니다. 이 클래스 로더는, MBean 고유의 클래스 로더의 조회 후 (임의), 클라이언트로부터 수신한 요구에 포함되는 객체를 직렬화 복원하기 위해서(때문에) 사용됩니다. 이 속성에는, 값으로서ClassLoader 의 인스턴스를 관련지을 수 있습니다.

관련 항목:
정수 필드치

DEFAULT_CLASS_LOADER_NAME

public static final String  DEFAULT_CLASS_LOADER_NAME

디폴트의 클래스 로더 MBean 명을 지정하는 속성의 이름입니다. 이 클래스 로더는, MBean 고유의 클래스 로더의 조회 후 (임의), 클라이언트로부터 수신한 요구에 포함되는 객체를 직렬화 복원하기 위해서(때문에) 사용됩니다. 이 속성에는, 값으로 해서 ObjectName 의 인스턴스를 관련지을 수 있습니다.

관련 항목:
정수 필드치

PROTOCOL_PROVIDER_PACKAGES

public static final String  PROTOCOL_PROVIDER_PACKAGES

프로토콜 핸들러의 검색시에 조회되는 프로바이더 패키지를 지정하는 속성의 이름입니다. 이 속성에는, 값으로서 세로의 곧은 선 (|)으로 단락지어진 패키지명으로부터 완성되는 캐릭터 라인을 관련지을 수 있습니다.

관련 항목:
정수 필드치

PROTOCOL_PROVIDER_CLASS_LOADER

public static final String  PROTOCOL_PROVIDER_CLASS_LOADER

프로토콜 프로바이더를 로드하는 클래스 로더를 지정하는 속성의 이름입니다. 이 속성에는, 값으로서ClassLoader 의 인스턴스를 관련지을 수 있습니다.

관련 항목:
정수 필드치
메소드의 상세

newJMXConnectorServer

public static JMXConnectorServer  newJMXConnectorServer(JMXServiceURL  serviceURL,
                                                       Map <String ,? > environment,
                                                       MBeanServer  mbeanServer)
                                                throws IOException 

지정된 주소의 연결기 서버를 작성합니다. 작성된 서버는,start 메소드가 불려 갈 때까지 기동하지 않습니다.

파라미터:
serviceURL - 새로운 연결기 서버의 주소. getAddress 메소드에 의해 반환되는 새로운 연결기 서버의 실제의 주소는, 엄밀하게 같다라고는 한정되지 않는다. 예를 들어, 원의 주소에 포함되지 않았다 포트 번호가 포함되어 있는 경우가 있는
environment - 새로운 연결기 서버의 동작을 제어한다 속성세트. 이 파라미터는 null 도 가능 이 맵내의 키는 String 가 아니면 안된다. 관련지을 수 있고 있는 개개의 값에 어느 형태가 적절한가는, 속성에 의해 결정된다. 이 호출이 environment 를 변경할 것은 없는
mbeanServer - 이 연결기 서버의 접속처 MBean 서버. 이 연결기 서버를 MBean 서버에 등록하는 것에 의해 MBean 서버에 접속하는 경우는 null
반환값:
새로운 연결기 서버를 나타낸다 JMXConnectorServer. 이 메소드가 정상적으로 불려 가면(자), 그때마다 다른 객체가 생성된다
예외:
NullPointerException - serviceURL 가 null 의 경우
IOException - 통신 장해에 의해 연결기 서버를 작성할 수 없는 경우
MalformedURLException - serviceURL 내에 프로토콜의 프로바이더가 존재하지 않는 경우
JMXProviderException - serviceURL 내에 프로토콜의 프로바이더가 존재하지만, 어떠한 이유로써 사용할 수 없는 경우

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.