簡體   English   中英

減少 Wildfly 連接超時

[英]decrease Wildfly connection timeouts

我的 java 應用程序在 Wildfly 中運行時遇到資源匱乏問題。 它正在對其他 REST 資源進行大量 API 調用,如果這些 API:s 之一變慢,我們的系統也會出現故障。

發生過后端系統在 14 秒內沒有響應的情況。 所以我希望我的應用程序在 4 秒后斷開連接。 “問題”是我們正在使用javax.ws.rs.client ClientClientBuilder並且我們使用 wildfly 作為實現。

所以我不知道如何設置這個超時參數。 從代碼中似乎不可能,而且我對哪個 Wildfly 子系統受到影響以及要設置哪些屬性感到非常迷茫。

有沒有人以前做過這個並且知道如何設置超時?

因此,由於wildfly 與resteasy 捆綁在一起,因此您必須為該特定實現實現超時。 或者強制wildfly使用其他東西。 由於在 Wildfly 上強制使用球衣似乎不是最好的(或最簡單的)想法,因此我開始配置它。

http://blog.eisele.net/2014/12/setting-timeout-for-jax-rs-20-resteasy-client.html

import javax.ws.rs.client.Client;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;

 Client client = new ResteasyClientBuilder()
                .establishConnectionTimeout(100, TimeUnit.SECONDS)
                .socketTimeout(2, TimeUnit.SECONDS)
                .build();

我在 pom.xml 中添加了以下內容:

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>3.0.19.Final</version>
    </dependency>

鑒於已棄用建立連接超時套接字超時

redhat 網站對 jboss v7.3 的解釋如下:

以下符合 ClientBuilder 規范的方法替換了某些已棄用的 RESTEasy 方法:

  • connectTimeout方法代替establishConnectionTimeout方法。

    • connectTimeout方法確定客戶端在建立新的服務器連接時必須等待的時間。
  • readTimeout方法取代了socketTimeout方法。

    • readTimeout方法確定客戶端必須等待服務器響應的時間。

這對我有用 RestEASY 3.12.1.Final

    private Client clientBuilder() {
        return new ResteasyClientBuilder()
            .connectTimeout(2, TimeUnit.SECONDS)
            .readTimeout(10, TimeUnit.SECONDS)
            .build();
    }
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-client</artifactId>
            <version>3.12.1.Final</version>
        </dependency>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM