JavaTM Platform
Standard Ed. 6

javax.management.remote
클래스 JMXConnectorFactory

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


public class JMXConnectorFactory
extends Object

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

일반적으로, 접속은, 이 클래스의 connect 메소드에 의해 확립됩니다. 고도의 어플리케이션에서는, 연결기 클라이언트의 작성 처리와 접속 처리 자체가,newJMXConnectorJMXConnector.connect(Map) 로 나눌 수 있고 있습니다.

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

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

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

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

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

pkg. protocol. ClientProvider

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

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

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

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

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

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

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

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

도입된 버젼:
1.5

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

필드의 상세

DEFAULT_CLASS_LOADER

public static final String  DEFAULT_CLASS_LOADER

디폴트의 클래스 로더를 지정하는 속성의 이름입니다. 이 클래스 로더는, 원격 MBeanServerConnection 호출로부터의 반환값과 예외를 직렬화 복원하기 위해서(때문에) 사용됩니다. 이 속성에는, 값으로서ClassLoader 의 인스턴스를 관련지을 수 있습니다.

관련 항목:
정수 필드치

PROTOCOL_PROVIDER_PACKAGES

public static final String  PROTOCOL_PROVIDER_PACKAGES

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

관련 항목:
정수 필드치

PROTOCOL_PROVIDER_CLASS_LOADER

public static final String  PROTOCOL_PROVIDER_CLASS_LOADER

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

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

connect

public static JMXConnector  connect(JMXServiceURL  serviceURL)
                            throws IOException 

지정된 주소의 연결기 서버와의 접속을 작성합니다.

이 메소드는 connect(serviceURL, null) 와 동등합니다.

파라미터:
serviceURL - 접속처 연결기 서버의 주소
반환값:
connect 메소드가 불려 간 JMXConnector
예외:
NullPointerException - serviceURL 가 null 의 경우
IOException - 통신 장해에 의해 연결기 클라이언트를 작성할 수 없는 경우, 또는 접속을 확립할 수 없는 경우
SecurityException - 시큐리티상의 이유에 의해 접속을 확립할 수 없는 경우

connect

public static JMXConnector  connect(JMXServiceURL  serviceURL,
                                   Map <String ,? > environment)
                            throws IOException 

지정된 주소의 연결기 서버와의 접속을 작성합니다.

이 메소드는, 다음과 동등합니다.

 JMXConnector conn = JMXConnectorFactory.newJMXConnector(serviceURL,
                                                         environment);
 conn.connect(environment);
 

파라미터:
serviceURL - 접속처 연결기 서버의 주소
environment - 접속의 확립 방법을 결정짓는다 속성세트. 이 파라미터는 null 도 가능 이 맵내의 키는 String 가 아니면 안된다. 관련지을 수 있고 있는 개개의 값에 어느 형태가 적절한가는, 속성에 의해 결정된다. 이 호출이 environment 를 변경할 것은 없다
반환값:
새롭게 확립된 접속을 나타낸다 JMXConnector. 이 메소드가 정상적으로 불려 가면(자), 그때마다 다른 객체가 생성된다
예외:
NullPointerException - serviceURL 가 null 의 경우
IOException - 통신 장해에 의해 연결기 클라이언트를 작성할 수 없는 경우, 또는 접속을 확립할 수 없는 경우
SecurityException - 시큐리티상의 이유에 의해 접속을 확립할 수 없는 경우

newJMXConnector

public static JMXConnector  newJMXConnector(JMXServiceURL  serviceURL,
                                           Map <String ,? > environment)
                                    throws IOException 

지정된 주소의 연결기 서버의 연결기 클라이언트를 작성합니다. 작성된 클라이언트는,connect 메소드가 불려 갈 때까지 접속되지 않습니다.

파라미터:
serviceURL - 접속처 연결기 서버의 주소
environment - 접속의 확립 방법을 결정짓는다 속성세트. 이 파라미터는 null 도 가능 이 맵내의 키는 String 가 아니면 안된다. 관련지을 수 있고 있는 개개의 값에 어느 형태가 적절한가는, 속성에 의해 결정된다. 이 호출이 environment 를 변경할 것은 없다
반환값:
새로운 연결기 클라이언트를 나타내는 JMXConnector. 이 메소드가 정상적으로 불려 가면(자), 그때마다 다른 객체가 생성된다
예외:
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 도 참조해 주세요.