BeanContextServiceAvailableEvent
BeanContextServiceAvailableEvent (서비스 등록 이벤트)
서비스가 BeanContext에 등록될 때 이를 알려 주기 위해 BeanContextServicesListener가 사용하는 이벤트 타입이에요. 이 이벤트를 통해 어떤 서비스가 등록되는지를 식별할 수 있어요.
본문
BeanContextServiceAvailableEvent는 BeanContextEvent를 상속하는 클래스예요. BeanContext 안에서 어떤 서비스가 새로 사용 가능해졌을 때 그 사실을 리스너에게 알리기 위해 발생해요.
이 클래스는 서비스 제공자가 서비스를 등록했을 때 이를 감지한 BeanContextServicesListener가 serviceAvailable() 메서드의 인자로 받는 객체예요. 이벤트를 통해 어떤 서비스 클래스가 등록됐는지, 그리고 그 서비스를 현재 요청하고 있는 선택자(selector)가 무엇인지 조회할 수 있어요.
주요 필드와 메서드는 다음과 같아요.
protected Class<?> serviceClass
public BeanContextServiceAvailableEvent(BeanContextServices bcs, Class<?> sc)
public BeanContextServices getSourceAsBeanContextServices()
public Class<?> getServiceClass()
public Iterator<?> getCurrentServiceSelectors()
getSourceAsBeanContextServices()— 이벤트를 발생시킨 BeanContext를BeanContextServices로 반환해요.getServiceClass()— 등록된 서비스의 클래스를 반환해요.getCurrentServiceSelectors()— 해당 서비스에 대해 현재 등록된 서비스 선택자를 반복자로 반환해요.
이 클래스는 Serializable을 구현하므로 직렬화가 가능해요.