7.10. 관찰자 방법
관찰자 메서드는 이벤트가 발생하면 알림을 받습니다.
컨텍스트 및 종속성 주입은 트랜잭션 관찰기 메서드를 제공하여 이벤트가 실행된 트랜잭션의 완료 단계 또는 트랜잭션 완료 단계 이후에 이벤트 알림을 수신합니다.
7.10.1. 이벤트 실행 및 관찰
예제: 이벤트 실행
다음 코드는 메서드에서 주입 및 사용되는 이벤트를 보여줍니다.
public class AccountManager {
@Inject Event<Withdrawal> event;
public boolean transfer(Account a, Account b) {
...
event.fire(new Withdrawal(a));
}
}예제: 한정자를 사용하여 이벤트 실행
이벤트 삽입에 한정자를 추가하여 보다 구체화할 수 있습니다. 한정자에 대한 자세한 내용은 한정자를 참조하십시오.
public class AccountManager {
@Inject @Suspicious Event <Withdrawal> event;
public boolean transfer(Account a, Account b) {
...
event.fire(new Withdrawal(a));
}
}예제: 이벤트 관찰
이벤트를 관찰하려면 @Observes 주석을 사용합니다.
public class AccountObserver {
void checkTran(@Observes Withdrawal w) {
...
}
}한정자를 사용하여 특정 유형의 이벤트만 관찰할 수 있습니다.
public class AccountObserver {
void checkTran(@Observes @Suspicious Withdrawal w) {
...
}
}