は、以下のコードスニペットあるコンテキスト負荷の前に春にカスタムイベントを公開することはできません私は以下のようにリスナーの一部で注釈を使用しています</p> <p>onConnectionOpenedはなります、私は春のMVCでのカスタムイベントを公開しようとしていますが、コンテキストのロード中に発射されていないされて
@Autowired
private ApplicationEventPublisher publisher;
public void onConnectionOpened(EventObject event) {
publisher.publishEvent(new StateEvent("ConnectionOpened", event));
}
を@PostConstruct使用して豆の初期化後にトリガされたサーバーに接続した後に呼び出さ
@EventListener
public void handleConnectionState(StateEvent event) {
System.out.println(event);
}
コンテキストがロードまたはリフレッシュされた後にイベントが発生するのを確認できましたが、コンテキストのロードまたはリフレッシュ後にカスタムアプリケーションイベントを発行できることが予想されますか。
私は事前
'@ EventListener'は、コンテキストが完全に初期化されたときに処理されます。あなたが本当に早くイベントをキャッチしたいのであれば(もしそれらを公開することができたとしても)、 '@ EventListener'の代わりに' ApplicationListener 'を使用してください。 –
ApplicationListenerが働いています。Deinum –