亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

GlassFish Java Web 服務超時

GlassFish Java Web 服務超時

皈依舞 2022-06-23 16:53:12
我正在設置一個新的 GlassFish Server 4.1.1,其中部署了一個 Java Web 服務。Web 服務有一個 Web 方法,它接收 JSON 作為輸入參數,結果它也返回一個 JSON。要將 Java 對象序列化/反序列化到 JSON,我使用的是 Gson 庫。Web 方法正在調用另一個 Web 服務,并且一次運行大約需要 2-3 分鐘。例如,我在循環中調用此 Web 服務 6-10 次,因此 Web 方法等待大約 16-30 分鐘以返回一個值。問題是超時,但我不知道在哪里以及如何為我的問題設置它。我嘗試從 Visual Studio C# 項目中調用此 Java Web 服務,我在其中添加了一個 Web 引用,我在其中定義了 Web 服務的 Web 引用 URL。我還設置了 XML Web 服務客戶端等待對同步 XML Web 服務請求的回復到達的時間。我將其設置為 10 小時,如下所示。static string CallEARSjDE(string json){    EARSWebReference.EARSWebService EARSWS = new EARSWebReference.EARSWebService();    EARSWS.Timeout = 36000000;    // 10 hours    return EARSWS.EARSjDE(json);}我還為在 Java Web 方法中發出的 Web 服務請求設置了超時。我設置為 1 小時。Gson gson = new Gson();RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(1 * 3600000).build();   // timeout set to 1 hourHttpClient httpClient = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build();HttpPost post = new HttpPost(this.ServiceURL);StringEntity postingString = new StringEntity(gson.toJson(problemLCSRequest));post.setEntity(postingString);post.setHeader("Content-type", "application/json");HttpResponse response = httpClient.execute(post);HttpEntity entity = response.getEntity();String responseString = EntityUtils.toString(entity, "UTF-8");ProblemLCSResponse responseJson = gson.fromJson(responseString, ProblemLCSResponse.class);除了這兩個超時,我還在 GlassFish 管理控制臺中設置了一個超時。我在 Configurations → server-config → Web Container 部分完成了,我將會話超時設置為 36.000 秒(10 小時)。例如,當我在 Web 方法中調用 Web 服務 6 次時,我得到了所需的響應。但是當我調用 Web 服務超過 6 次時,它會拋出如下所示的異常。我認為這個異常的原因是超時,但我不知道是哪一個導致它,我在哪里可以改變它。
查看完整描述

1 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

最后,我找到了正確的超時設置。我必須進入管理面板,在里面Configurations → server-config → Network Config我必須設置 http-listener-1 的HTTP 請求超時。



查看完整回答
反對 回復 2022-06-23
  • 1 回答
  • 0 關注
  • 223 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號