JavaTM Platform
Standard Ed. 6

javax.management.remote
클래스 JMXConnectorServer

java.lang.Object 
  상위를 확장 javax.management.NotificationBroadcasterSupport 
      상위를 확장 javax.management.remote.JMXConnectorServer
모든 구현된 인터페이스:
MBeanRegistration , NotificationBroadcaster , NotificationEmitter , JMXAddressable , JMXConnectorServerMBean
직계의 기존의 서브 클래스:
RMIConnectorServer


public abstract class JMXConnectorServer
extends NotificationBroadcasterSupport
implements JMXConnectorServerMBean , MBeanRegistration , JMXAddressable

모든 연결기 서버의 슈퍼 클래스입니다. 연결기 서버는 MBean 서버에 접속됩니다. 연결기 서버는 클라이언트 접속 요구를 대기해, 요구 마다 1 개(살)씩 접속을 작성합니다.

연결기 서버와 MBean 서버가 관련짓고는, 연결기 서버를 MBean 서버에 등록하는지, MBean 서버를 연결기 서버의 생성자 에 건네주는 것에 의해 행해집니다.

연결기 서버는, 작성된 시점에서는 정지하고 있어,start 메소드가 불려 간 시점에서 클라이언트 접속의 대기를 개시합니다. 그 후,stop 메소드가 불려 가는지, MBean 서버에의 등록이 해제되면(자), 클라이언트 접속의 대기를 정지합니다.

연결기 서버를 정지해도, MBean 서버에의 등록은 해제되지 않습니다. 일단 정지한 연결기 서버를 재기동할 수 없습니다.

클라이언트 접속이 작성되는지, 종료할 때마다,JMXConnectionNotification 클래스의 통지가 발행됩니다.

도입된 버젼:
1.5

필드의 개요
static String AUTHENTICATOR
          연결기 서버의 Authenticator를 지정하는 속성의 이름입니다.
 
생성자 의 개요
JMXConnectorServer ()
          접속처의 MBean 서버에 MBean 로서 등록되는 연결기 서버를 구축합니다.
JMXConnectorServer (MBeanServer  mbeanServer)
          지정된 MBean 서버에 접속하는 연결기 서버를 구축합니다.
 
메소드의 개요
protected  void connectionClosed (String  connectionId, String  message, Object  userData)
          클라이언트 접속이 정상적으로 종료했을 때 서브 클래스에 의해 불려 갑니다.
protected  void connectionFailed (String  connectionId, String  message, Object  userData)
          클라이언트 접속에 실패했을 때 서브 클래스에 의해 불려 갑니다.
protected  void connectionOpened (String  connectionId, String  message, Object  userData)
          새로운 클라이언트 접속을 유효하게 했을 때 서브 클래스에 의해 불려 갑니다.
 String [] getConnectionIds ()
          현재 유효하게 되어 있는, 이 연결기 서버와의 접속의 ID 의 리스트입니다.
 MBeanServer getMBeanServer ()
          이 연결기 서버의 접속처 MBean 서버를 돌려줍니다.
 MBeanNotificationInfo [] getNotificationInfo ()
          이 MBean 로부터 송신되는 통지를 나타내는 배열을 돌려줍니다.
 void postDeregister ()
          MBean 서버로부터 등록 해제한 뒤, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.
 void postRegister (Boolean  registrationDone)
          MBean 서버에의 등록이 성공 또는 실패한 뒤, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.
 void preDeregister ()
          이 연결기 서버의 MBean 서버에의 등록이 해제되었을 때, 원등록처 MBean 서버에 의해 불려 갑니다.
 ObjectName preRegister (MBeanServer  mbs, ObjectName  name)
          이 연결기 서버가 MBean 서버에 등록되었을 때, 등록처의 MBean 서버에 의해 불려 갑니다.
 void setMBeanServerForwarder (MBeanServerForwarder  mbsf)
          이 연결기 서버 경유로 착신한 MBean 서버에의 요구를 차단하는 객체를 추가합니다.
 JMXConnector toJMXConnector (Map <String ,? > env)
          이 연결기 서버의 클라이언트 Stub를 돌려줍니다.
 
클래스 javax.management. NotificationBroadcasterSupport 로부터 상속된 메소드
addNotificationListener , handleNotification , removeNotificationListener , removeNotificationListener , sendNotification
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 
인터페이스 javax.management.remote. JMXConnectorServerMBean 로부터 상속된 메소드
getAddress , getAttributes , isActive , start , stop
 
인터페이스 javax.management.remote. JMXAddressable 로부터 상속된 메소드
getAddress
 

필드의 상세

AUTHENTICATOR

public static final String  AUTHENTICATOR

연결기 서버의 Authenticator를 지정하는 속성의 이름입니다. 이 속성에 값을 관련지을 수 있고 있는 경우, 그 값은,JMXAuthenticator 인터페이스를 구현하는 객체일 필요가 있습니다.

관련 항목:
정수 필드치
생성자 의 상세

JMXConnectorServer

public JMXConnectorServer()

접속처의 MBean 서버에 MBean 로서 등록되는 연결기 서버를 구축합니다. 이 생성자 은, 일반적으로, 원격로 이용할 수 있는 연결기 서버가 MBean 서버내에서 작성될 때, 임의의 createMBean 메소드에 의해 불려 갑니다.


JMXConnectorServer

public JMXConnectorServer(MBeanServer  mbeanServer)

지정된 MBean 서버에 접속하는 연결기 서버를 구축합니다. 이 방법으로 작성된 연결기 서버를 다른 MBean 서버에 등록할 수도 있습니다.

파라미터:
mbeanServer - 이 연결기 서버의 접속처 MBean 서버. 이 연결기 서버를 MBean 서버에 등록하는 것에 의해 MBean 서버에 접속하는 경우는 null
메소드의 상세

getMBeanServer

public MBeanServer  getMBeanServer()

이 연결기 서버의 접속처 MBean 서버를 돌려줍니다.

반환값:
이 연결기 서버의 접속처 MBean 서버. 이것이 MBean 서버에 접속되어 있지 않은 경우는 null

setMBeanServerForwarder

public void setMBeanServerForwarder(MBeanServerForwarder  mbsf)
인터페이스 JMXConnectorServerMBean 의 기술:

이 연결기 서버 경유로 착신한 MBean 서버에의 요구를 차단하는 객체를 추가합니다. 이 객체는, 이 연결기 서버에 의해 작성된 새로운 접속의 MBeanServer 로서 지정됩니다. 기존의 접속에 영향은 없습니다.

이 연결기 서버가 벌써 MBeanServer 객체에 관련지을 수 있고 있는 경우는,mbsf.setMBeanServer 에 이 객체가 건네받습니다. 이 처리로 예외가 생성되었을 경우, 이 메소드는 그 예외를 throw 합니다.

throw 되는 예외는, 어떤 영향도 가지지 않습니다. 이 연결기가 아직 MBeanServer 객체에 관련지을 수 있지 않은 경우, 또는 mbsf.setMBeanServer 호출이 성공했을 경우,mbsf 가 이 연결기 서버의 MBeanServer 가 됩니다.

정의:
인터페이스 JMXConnectorServerMBean 내의 setMBeanServerForwarder
파라미터:
mbsf - 새로운 MBeanServerForwarder

getConnectionIds

public String [] getConnectionIds()
인터페이스 JMXConnectorServerMBean 의 기술:

현재 유효하게 되어 있는, 이 연결기 서버와의 접속의 ID 의 리스트입니다.

정의:
인터페이스 JMXConnectorServerMBean 내의 getConnectionIds
반환값:
ID 리스트를 포함한 새로운 문자 배열. 현재 유효하게 되어 있다 접속이 없는 경우, 이 배열은 비운다

toJMXConnector

public JMXConnector  toJMXConnector(Map <String ,? > env)
                            throws IOException 

이 연결기 서버의 클라이언트 Stub를 돌려줍니다. 클라이언트 Stub는 직렬화 가능한 객체입니다. 이 객체의 connect 메소드를 사용해, 이 연결기 서버와의 새로운 접속을 1 개 확립할 수 있습니다.

지정된 연결기가, 클라이언트 Stub의 생성 기능을 지원하지 않는 경우도 있습니다. 다만, JMX 원격 API 에 의해 지정된 연결기 (JMXMP 연결기와 RMI 연결기)는, 이 기능을 지원합니다.

이 메소드의 디폴트 구현은,JMXConnectorServerMBean.getAddress()JMXConnectorFactory 를 사용해, 다음과 같은 코드의 Stub를 생성합니다.

 JMXServiceURL addr = getAddress() ;
 return JMXConnectorFactory.newJMXConnector(addr, env) ;
 

이것이 적절하지 않은 연결기 서버는, 적절한 논리를 구현하는지,UnsupportedOperationException 를 throw 하기 위한(해), 이 메소드를 오버라이드(override) 할 필요가 있습니다.

정의:
인터페이스 JMXConnectorServerMBean 내의 toJMXConnector
파라미터:
env - JMXConnector.connect(Map) 에 제공 가능한 같은 종류의 클라이언트 접속 파라미터. null 는 빈 상태(empty) 맵과 동등
반환값:
이 연결기 서버와의 새로운 접속을 확립하기 위해서 사용할 수 있는 클라이언트 Stub
예외:
UnsupportedOperationException - 이 연결기 서버가 클라이언트 Stub의 생성 기능을 지원하지 않는 경우
IllegalStateException - JMXConnectorServer 가 기동하고 있지 않는 경우 (JMXConnectorServerMBean.isActive() 를 참조)
IOException - 통신 장해에 의해, Stub를 작성할 수 없는 경우

getNotificationInfo

public MBeanNotificationInfo [] getNotificationInfo()

이 MBean 로부터 송신되는 통지를 나타내는 배열을 돌려줍니다. JMXConnectorServer 내의 구현은, 요소 1 개의 배열을 돌려줍니다. 이것은, 형태 정의된 JMXConnectionNotification 클래스의 통지를 발행할 수 있는 것을 나타냅니다. 그 외의 통지를 발행할 수 있는 서브 클래스는, 이 요소와 그 외의 통지의 설명을 포함한 배열을 돌려줍니다.

정의:
인터페이스 NotificationBroadcaster 내의 getNotificationInfo
오버라이드(override):
클래스 NotificationBroadcasterSupport 내의 getNotificationInfo
반환값:
통지의 배열

connectionOpened

protected void connectionOpened(String  connectionId,
                                String  message,
                                Object  userData)

새로운 클라이언트 접속을 유효하게 했을 때 서브 클래스에 의해 불려 갑니다. getConnectionIds() 에 의해 반환되는 리스트에 connectionId 를 추가해,JMXConnectionNotification.OPENEDJMXConnectionNotification 를 발행합니다.

파라미터:
connectionId - 새로운 접속의 ID. 이전에 이 연결기 서버에 의해 유효하게 된 접속의 ID 란 차이가 나지 않으면 안 되는
message - 발행된 JMXConnectionNotification 의 메세지. null 도 가능Notification.getMessage() 를 참조
userData - 발행된 JMXConnectionNotificationuserData. null 도 가능Notification.getUserData() 를 참조
예외:
NullPointerException - connectionId 가 null 의 경우

connectionClosed

protected void connectionClosed(String  connectionId,
                                String  message,
                                Object  userData)

클라이언트 접속이 정상적으로 종료했을 때 서브 클래스에 의해 불려 갑니다. getConnectionIds() 에 의해 반환되는 리스트로부터 connectionId 를 삭제해,JMXConnectionNotification.CLOSEDJMXConnectionNotification 를 발행합니다.

파라미터:
connectionId - 종료한 접속의 ID
message - 발행된 JMXConnectionNotification 의 메세지. null 도 가능Notification.getMessage() 를 참조
userData - 발행된 JMXConnectionNotificationuserData. null 도 가능Notification.getUserData() 를 참조
예외:
NullPointerException - connectionId 가 null 의 경우

connectionFailed

protected void connectionFailed(String  connectionId,
                                String  message,
                                Object  userData)

클라이언트 접속에 실패했을 때 서브 클래스에 의해 불려 갑니다. getConnectionIds() 에 의해 반환되는 리스트로부터 connectionId 를 삭제해,JMXConnectionNotification.FAILEDJMXConnectionNotification 를 발행합니다.

파라미터:
connectionId - 실패한 접속의 ID
message - 발행된 JMXConnectionNotification 의 메세지. null 도 가능Notification.getMessage() 를 참조
userData - 발행된 JMXConnectionNotificationuserData. null 도 가능Notification.getUserData() 를 참조
예외:
NullPointerException - connectionId 가 null 의 경우

preRegister

public ObjectName  preRegister(MBeanServer  mbs,
                              ObjectName  name)

이 연결기 서버가 MBean 서버에 등록되었을 때, 등록처의 MBean 서버에 의해 불려 갑니다. 이 연결기 서버가 MBean 서버에 접속되어 그 getMBeanServer() 메소드는 mbs 를 돌려줍니다.

이 연결기 서버가 벌써 MBean 서버에 접속되고 있는 경우, 이 메소드는 아무것도 실행하지 않습니다. 접속처의 MBean 서버가, 등록처의 MBean 서버에 일치하고 있을 필요는 없습니다.

정의:
인터페이스 MBeanRegistration 내의 preRegister
파라미터:
mbs - 이 연결기 서버의 등록처 MBean 서버
name - MBean 의 객체명
반환값:
MBean 의 등록명
예외:
NullPointerException - mbs 또는 name 가 null 의 경우

postRegister

public void postRegister(Boolean  registrationDone)
인터페이스 MBeanRegistration 의 기술:
MBean 서버에의 등록이 성공 또는 실패한 뒤, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.

정의:
인터페이스 MBeanRegistration 내의 postRegister
파라미터:
registrationDone - MBean 가 MBean 서버에 정상적으로 등록되었는지의 여부를 나타낸다. 등록에 실패했을 경우의 값은 false

preDeregister

public void preDeregister()
                   throws Exception 

이 연결기 서버의 MBean 서버에의 등록이 해제되었을 때, 원등록처 MBean 서버에 의해 불려 갑니다. 등록에 의해 MBean 서버에 접속하고 있던 연결기 서버가 아직 액티브한 경우, 등록을 해제하면(자) stop 메소드가 불려 갑니다. stop 메소드가 예외를 throw 했을 경우, 등록 해제는 실패합니다. stop 메소드는, MBean 의 등록 해제전에, 명시적으로 호출하는 것을 추천합니다.

정의:
인터페이스 MBeanRegistration 내의 preDeregister
예외:
IOException - stop 메소드에 의해 throw 되었을 경우
Exception - 이 예외는, MBean 서버에 캐치 되어 MBeanRegistrationException 로서 재throw 된다

postDeregister

public void postDeregister()
인터페이스 MBeanRegistration 의 기술:
MBean 서버로부터 등록 해제한 뒤, MBean 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.

정의:
인터페이스 MBeanRegistration 내의 postDeregister

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 도 참조해 주세요.