0

私は使っている

applicationContext.getAutowireCapableBeanFactory().initializeBean(bean, name);

実行時に Bean を登録します。この Bean は、実際には既存のシングルトンの子 Bean と見なすことができます。

Bean が ApplicationListener を実装している場合、ログに警告が表示されます。これは、この Bean をシングルトンと見なす必要があることを示す基になる Bean 定義がないためです。もちろん、警告にあるように、アプリケーション イベントは受け取りません。

Inner bean 'name' implements ApplicationListener interface but is not reachable for event multicasting by its containing ApplicationContext because it does not have singleton scope. Only top-level listener beans are allowed to be of non-singleton scope.

実行時に Bean をシングルトンとして登録して、Bean ポスト プロセッサの警告を回避し、アプリケーション イベントを機能させるにはどうすればよいですか?

(AbstractApplicationContext:1413 を参照)

4

0 に答える 0