鍍金池/ 問答/Java  HTML/ WebServiceGatewaySupport 如何控制超時(shí)時(shí)間?

WebServiceGatewaySupport 如何控制超時(shí)時(shí)間?

提出這個(gè)問題主要跟生產(chǎn)服務(wù)器上出現(xiàn)大量CLOSE_WAIT相關(guān),實(shí)際中第三方接口有時(shí)會(huì)非常之慢,懷疑與之有關(guān),為了保持我方系統(tǒng)的正常運(yùn)行,覺得還是得在接口調(diào)用處加入超時(shí)控制,用的是webservice,請教如何設(shè)置?自己尋找了下相關(guān)類,未找到timeout等關(guān)鍵字,所以在此求助。

核心類:
org.springframework.ws.client.core.support.WebServiceGatewaySupport

回答
編輯回答
心夠野

現(xiàn)在的年輕人真的是菜,一有問題就出來bb,都不思考,世風(fēng)日下!
自己實(shí)現(xiàn)有個(gè)超時(shí)控制不好嗎?
具體實(shí)現(xiàn)參考:

  1. 超時(shí)機(jī)制
    // 首先,我們實(shí)現(xiàn)并執(zhí)行一個(gè)匿名的超時(shí)等待函數(shù)
    timeout := make(chan bool, 1)
    go func() {
    time.Sleep(1e9) // 等待1秒鐘
    timeout <- true
    }()
    // 然后我們把timeout這個(gè)channel利用起來
    select {
    case <-ch:
    // 從ch中讀取到數(shù)據(jù)
    case <-timeout:
    // 一直沒有從ch中讀取到數(shù)據(jù),但從timeout中讀取到了數(shù)據(jù)
  2. Context包
    https://www.youtube.com/watch...
2018年6月14日 01:14