春の起動アプリケーションがあります。そして、私はUserCreateEvent
のようなイベントを作成し、リスナーUserCreateListener
spring boot guava eventbus listenerの登録を解除するには?
イベントがあります。
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ç[email protected] –
OK、ありがとう。 –
作成したばかりのコンポーネントを登録解除する理由を教えてください。あなたがそれを必要としないならば、単に@Componentアノテーションを削除するか、org.springframework.context.annotation.ComponentScan.Filterアノテーションを使用して、SpringブートコンテキストからUserCreateListenerを除外してください。 – db80