Spring の初期化中にブロックするのは合理的ですか?
PHP中文网
PHP中文网 2017-06-23 09:14:20
0
3
931

NettyRPC のコードを読むと、Spring の InitializingBeanRpcServer に実装されていることがわかり、メソッド実装内で Netty サーバーが起動され、ブロックされています。 リーリー

ソースコードアドレス:

https://github.com/luxiaoxun/...

お聞きしたいのですが、このようなブロックはSpringの初期化に影響するのでしょうか?(Springのソースコードを読んでいないので状況が分かりません。アドバイスをお願いします...

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(3)
黄舟

とても愚かな質問をしたような気がします... Springコンテナの初期化処理はシングルスレッドです。ここでブロックされると、当然...その後の作業が実行できなくなります。

テスト Bean は Bean 設定ファイルの最後に追加され、初期化中にログが記録されますが、結果は出力されません。

いいねを押す +0
巴扎黑

これは合理的なはずです。Bean が複数のスレッドによってインスタンス化される場合、Bean と Bean 間の依存関係の処理が難しくなり、コードの複雑さが急激に増加するからです。

いいねを押す +0
洪涛

合理的です。理由は上記に記載されています。 Bean を非同期で初期化する必要がある場合は、BeanFactory のロジックを書き直すだけです。前提として、これらの Bean が相互に依存しないようにする必要があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート