我有一個簡單的java web服務。我想要讓Web服務進行線程化,每個對Web方法的調用都有自己的線程來處理。處理需要很長時間,我不希望它阻止,阻止對Web方法的其他調用發生。相反,我希望web方法只創建線程,並讓線程本身在完成處理後向客戶端響應/返回值。那可能嗎?如何使一個Web服務使用多線程?
編輯:
這裏是什麼,我現在所擁有的半僞代碼:
@WebService(endpointInterface="Service")
public class ServiceImpl {
public ServiceImpl()
{
// Initialization
}
public String GetResult(input)
{
// Does long processing
return Result;
}
}
我想要做的就是調用getResult()執行長處理,而不是,我想它唯一產物Runnable將執行長處理並且GetResult()返回並準備好處理另一個請求。我也希望Runnable響應等待的客戶端。
編輯2:
我只是意識到,我問一個愚蠢的問題。我很新實現WS的。我曾認爲WS只是一次接一個請求。我不知道每個請求已經自動線程化。
這是可能的。你有什麼嘗試。你做了什麼搜索。你看過什麼代碼?請編輯您的問題並提供更多詳細信息。 – Gray
你有什麼樣的客戶?服務器端?命令行/批處理? GUI?搖擺? JavaFX的? – Puce
看起來你確實要求WS是異步的......這也是可能的。 – vkraemer