스프링 부트 응용 프로그램이 있습니다. 나는 UserCreateEvent
같은 이벤트를 만들고 리스너 UserCreateListener
spring boot 구아바 eventbus 리스너를 등록 해제하는 방법?
이벤트가 :
public class UserCreateEvent {
private Long userId;
}
청취자 :
@Component
public class UserCreateListener {
@Autowired
private Eventbus eventbus;
@PostConstruct
public void init() {
this.eventbus.register(this)
}
@Subscribe
public void onUserCreate(UserCreateEvent event) {
Long userId = event.getUserId();
// todo something necessary
}
}
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(Application.class);
application.run(args);
}
}
지금, 나는 봄 부팅 응용 프로그램 시작 후 UserCreateListener
등록을 취소하고자합니다. 어떻게하면 Eventbus
이 이벤트와 수신기를 등록 취소 할 수 있습니까 ??
오타는'@ Comonent' =>는'Component' @, 당신은 –
@ FrançoisMaturel 확인, 덕분에 코드를하시기 바랍니다 업데이트 할 수 있습니다. –
방금 만든 구성 요소의 등록을 왜 취소 하시겠습니까? 필요없는 경우 @Component 주석을 제거하거나 annotation org.springframework.context.annotation.ComponentScan.Filter를 사용하여 Spring 부트 컨텍스트에서 UserCreateListener를 제외하십시오. – db80