NettyRPC のコードを読むと、Spring の InitializingBean
が RpcServer
に実裝されていることがわかり、メソッド実裝內(nèi)で Netty サーバーが起動され、ブロックされています。
リーリー
https://github.com/luxiaoxun/...
認(rèn)證高級PHP講師
とても愚かな質(zhì)問をしたような気がします... Springコンテナの初期化処理はシングルスレッドです。ここでブロックされると、當(dāng)然...その後の作業(yè)が実行できなくなります。
テスト Bean は Bean 設(shè)定ファイルの最後に追加され、初期化中にログが記録されますが、結(jié)果は出力されません。これは合理的なはずです。Bean が複數(shù)のスレッドによってインスタンス化される場合、Bean と Bean 間の依存関係の処理が難しくなり、コードの複雑さが急激に増加するからです。
合理的です。理由は上記に記載されています。 Bean を非同期で初期化する必要がある場合は、BeanFactory のロジックを書き直すだけです。前提として、これらの Bean が相互に依存しないようにする必要があります。