国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

java - 在Spring初始化過程中阻塞合理嗎?
PHP中文網(wǎng)
PHP中文網(wǎng) 2017-06-23 09:14:20
0
3
1006

讀到了 NettyRPC 的代碼, 發(fā)現(xiàn) RpcServer 中實(shí)現(xiàn)了 Spring 的 InitializingBean, 在方法實(shí)現(xiàn)里啟動(dòng)了一個(gè) Netty 服務(wù)器, 并且阻塞了.

@Override
public void afterPropertiesSet() throws Exception {
    EventLoopGroup bossGroup = new NioEventLoopGroup();
    EventLoopGroup workerGroup = new NioEventLoopGroup();
    try {       
        // 前略...        
        future.channel().closeFuture().sync();
    } finally {
        workerGroup.shutdownGracefully();
        bossGroup.shutdownGracefully();
    }
}

源碼地址:
https://github.com/luxiaoxun/...

我想問的是這樣阻塞不會(huì)對(duì) Spring 的初始化造成影響嗎? (沒有讀過 Spring 源碼, 并不清楚情況, 求大家不吝賜教...

PHP中文網(wǎng)
PHP中文網(wǎng)

認(rèn)證高級(jí)PHP講師

全部回復(fù)(3)
黃舟

感覺自己?jiǎn)柫藗€(gè)很笨的問題... Spring容器的初始化過程是單線程的, 在這里阻塞住了自然就表示... 后續(xù)工作沒法進(jìn)行了.

在 bean 配置文件的最后面加了個(gè)測(cè)試的 Bean , 在初始化的時(shí)候會(huì)打log, 結(jié)果并沒有打出來.

巴扎黑

這個(gè)應(yīng)該是合理的,因?yàn)槿绻嗑€程實(shí)例化Bean,那么Bean和Bean之間的依賴就很難處理了,代碼復(fù)雜度陡升。

洪濤

合理,原因樓上已經(jīng)說了。如果異步初始化bean的需求,重寫B(tài)eanFactory的邏輯就好了,前提是你要確保這些bean沒有相互依賴關(guān)系

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板