Baca kod NettyRPC dan mendapati RpcServer
中实现了 Spring 的 InitializingBean
bahawa pelayan Netty telah dimulakan dalam pelaksanaan kaedah dan disekat.
@Override
public void afterPropertiesSet() throws Exception {
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
// 前略...
future.channel().closeFuture().sync();
} finally {
workerGroup.shutdownGracefully();
bossGroup.shutdownGracefully();
}
}
Alamat kod sumber:
https://github.com/luxiaoxun/...
Apa yang saya ingin tanya ialah, adakah penyekatan tersebut akan menjejaskan permulaan Spring? (Saya belum membaca kod sumber Spring, jadi saya tidak tahu situasinya. Tolong beri saya nasihat...
Saya rasa seperti saya bertanya soalan yang sangat bodoh... Proses pemulaan bekas Spring adalah satu benang Jika ia disekat di sini, ia akan bermakna bahawa... kerja susulan tidak dapat dijalankan.
Ujian Bean ditambahkan pada penghujung fail konfigurasi kacang, dan log akan dilog semasa pemulaan, tetapi hasilnya tidak dicetak.
Ini sepatutnya munasabah, kerana jika sebiji kacang dijadikan instantiated oleh berbilang benang, pergantungan antara kacang dan kacang akan sukar dikendalikan, dan kerumitan kod akan meningkat dengan mendadak.
Muasabah, alasannya telah disebutkan di atas. Jika anda perlu memulakan kacang secara tidak segerak, tulis semula logik BeanFactory, dengan syarat anda memastikan bahawa kacang ini tidak bergantung antara satu sama lain