ホームページ  >  に質問  >  本文

Spring の初期化中にブロックするのは合理的ですか?

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

ソースコードアドレス:

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

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

PHP中文网PHP中文网2674日前892

全員に返信(3)返信します

  • 黄舟

    黄舟2017-06-23 09:16:20

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

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

    返事
    0
  • 巴扎黑

    巴扎黑2017-06-23 09:16:20

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

    返事
    0
  • PHP中文网

    PHP中文网2017-06-23 09:16:20

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

    返事
    0
  • キャンセル返事