NotificationBroadcasterSupport
NotificationBroadcasterSupport (알림 브로드캐스터 지원 클래스)
NotificationEmitter 인터페이스의 구현을 제공하는 클래스예요. 알림을 보내는 MBean의 슈퍼 클래스로 사용될 수 있어요.
본문
기본적으로 알림 전달 모델은 동기식이에요. 스레드가 sendNotification을 호출하면 각 리스너의 NotificationListener.handleNotification 메서드가 그 스레드 안에서 호출돼요. 이 기본 동작은 하위 클래스에서 handleNotification을 오버라이드하거나 생성자에 Executor를 전달해 재정의할 수 있어요.
필터나 리스너의 메서드 호출이 Exception을 던지면 다른 리스너가 호출되는 것을 막지 않아요. 그러나 Executor.execute나 handleNotification(Executor가 지정되지 않은 경우)이 Error를 던지면 그 Error는 sendNotification 호출자에게 전파돼요.
JMX Remote API(JMXConnector, 참조)로 추가된 원격 리스너는 보통 동기적으로 호출되지 않아요. 즉 sendNotification이 반환될 때 원격 리스너가 이미 알림을 받았다는 보장은 없어요.
네 가지 생성자를 제공해요:
NotificationBroadcasterSupport()NotificationBroadcasterSupport(Executor executor)NotificationBroadcasterSupport(MBeanNotificationInfo... info)NotificationBroadcasterSupport(Executor executor, MBeanNotificationInfo... info)
주요 메서드로는 addNotificationListener, removeNotificationListener(두 버전), sendNotification(Notification), getNotificationInfo()가 있어요.