|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
public interface NotificationBroadcaster
Notification 를 발행하는 MBean 가 구현하고 있는 인터페이스. 이 인터페이스에 의해, 청취자를 통지 청취자로서 MBean 에 등록할 수 있습니다.
MBean 는, 통지의 발행시에,addNotificationListener 를 사용해 추가되어 한편 removeNotificationListener 를 사용해 삭제되어 있지 않은 각 청취자를 고려에 넣습니다. 청취자에 대해서 필터가 제공되어 그 필터의 isNotificationEnabled 메소드가 false 를 돌려주는 경우, 그 청취자는 무시됩니다. 그 이외의 경우, 통지, 및 addNotificationListener 에 제공된 핸드백 객체를 사용해, 청취자의 handleNotification 메소드가 불려 갑니다.
동일한 청취자가 여러 차례 추가되는 경우, 추가될 때마다 고려됩니다. 이것은, 1 살의 청취자를 다른 필터나 핸드백 객체를 사용해 추가하는 경우에, 자주 도움이 됩니다.
이 인터페이스의 구현은, 필터나 청취자의 메소드가 불려 가는 thread에 의해 다른 일이 있습니다.
필터 또는 청취자의 메소드 호출에 의해 Exception 가 throw 되는 경우, 다른 청취자의 호출이 그 예외에 의해 방해할 수 없게 할 필요가 있습니다. 다만, 메소드 호출에 의해 Error 가 throw 되는 경우는, 그 시점에서 통지의 처리를 정지하는 것이 추천 되고 있습니다. 또,Error 를 통지의 송신 측에 보내는 것이 가능하면, 그렇게 해 주세요.
새로운 코드는,NotificationEmitter 인터페이스를 사용할 필요가 있습니다.
이 인터페이스 및 NotificationEmitter 의 구현에서는, 동기를 주의 깊게 실시할 필요가 있습니다. 특히, 구현이 청취자의 호출시에 락을 보관 유지하는 것은, 좋은 방법이 아닙니다. 통지의 발송중에 청취자의 리스트가 변경될 가능성에 대처하는 좋은 방법은, 이 리스트로 CopyOnWriteArrayList 를 사용하는 것입니다.
| 메소드의 개요 | |
|---|---|
void |
addNotificationListener (NotificationListener listener,
NotificationFilter filter,
Object handback)
이 MBean 에 청취자를 추가합니다. |
MBeanNotificationInfo [] |
getNotificationInfo ()
이 MBean 가 송신할 가능성이 있는 각 통지에 대해, 그 통지의 Java 클래스명과 통지형을 나타내는 배열을 돌려줍니다. |
void |
removeNotificationListener (NotificationListener listener)
이 MBean 로부터 청취자를 삭제합니다. |
| 메소드의 상세 |
|---|
void addNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
throws IllegalArgumentException
listener - 브로드 캐스터가 발행한 통지를
처리하는 청취자 객체filter - 필터 객체. 필터가 null 의 경우,
통지 처리전에 필터는 적용되지 않는handback - 통지의 발행시에 청취자에게 송신된다
불투명한 객체. Notification 브로드 캐스터 객체는,
이 객체를 사용할 수 없다. 이 객체는, 손보지 않는 상태로,
통지와 함께 청취자에게 돌려 보내지지 않으면 안 된다
IllegalArgumentException - 청취자 파라미터가 null 의 경우removeNotificationListener(javax.management.NotificationListener)
void removeNotificationListener(NotificationListener listener)
throws ListenerNotFoundException
listener - 이전에 이 MBean 에 추가되었다
청취자
ListenerNotFoundException - 청취자가 MBean 에
등록되지 않은 경우addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) ,
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object) MBeanNotificationInfo [] getNotificationInfo()
이 MBean 가 송신할 가능성이 있는 각 통지에 대해, 그 통지의 Java 클래스명과 통지형을 나타내는 배열을 돌려줍니다.
이 배열에 기술되어 있지 않은 통지를 MBean 가 송신해도, 부정하지는 않습니다. 다만 일부의 MBean 서버 클라이언트는, 올바르게 기능하기 위해서, 작성되는 배열에 의존하는 경우가 있습니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.