1
我有一個servlet,調用一個web服務,並獲取數據來填充servlet響應。 我也不想等太久。 我可以只產生一個新線程並調用Web服務嗎?如果不推薦這樣做,那麼更好的方法是什麼?從servlet產生線程?
謝謝
我有一個servlet,調用一個web服務,並獲取數據來填充servlet響應。 我也不想等太久。 我可以只產生一個新線程並調用Web服務嗎?如果不推薦這樣做,那麼更好的方法是什麼?從servlet產生線程?
謝謝
任何事情都可以做到。
如果你產生一個新的線程,這意味着你將不得不立即返回一些東西到客戶端。會是什麼?您的用戶最終會想知道數據何時可用。什麼是讓他們知道的回調機制?他們會投票嗎?你打算髮信息嗎?是否有類似Fedex的跟蹤ID可用於查明數據何時準備好?
你認爲你需要多少個線程?你會彙集那些線程嗎?如果數據請求失敗會發生什麼?
這很複雜,比「創建新線程」向上或向下意味着更多。想一想就可以了。
我想等待比方說10秒。如果Web服務沒有響應,我想發送一個servlet resopnse「web service unavail」,否則我想根據從Web服務獲得的內容編寫servlet響應。 – jimnorton
您使用的是什麼Web服務客戶端庫?它可能會有一些方法來定義超時。 –
謝謝埃斯科,其實我繼承了這個,但看起來像com.ibm.websphere.webservices.http.connectionTimeout將工作。 – jimnorton