我有以下用于HTTP超时支持的代码:

    Client client = ClientBuilder.newClient().register(JacksonJsonProvider.class);
    client.property(ClientProperties.CONNECT_TIMEOUT, 1000);
    client.property(ClientProperties.READ_TIMEOUT, 1000);
    WebTarget target = client.target(url);
    Response response = target.request(MediaType.APPLICATION_JSON_TYPE).post(null, Response.class);


它适用于独立的Java应用程序。等待1000毫秒的响应,然后出现java.net.SocketTimeoutException

我需要在WildFly 8.2.0上使用此代码。问题是等待1000毫秒后没有任何反应。该代码等待无限的时间。我想ClientProperties.CONNECT_TIMEOUTClientProperties.READ_TIMEOUT不适合WildFly。可能我必须使用其他常量。有人知道是什么问题吗?

最佳答案

ClientProperties是球衣特定的类,其属性是球衣特定的。 Wildfly使用RestEasy作为其JAX-RS提供程序。

您可以在此处配置基础的Apache HttpClient:https://docs.jboss.org/resteasy/docs/3.0.17.Final/userguide/html/RESTEasy_Client_Framework.html

要在HttpClient中配置超时:https://www.jayway.com/2009/03/17/configuring-timeout-with-apache-httpclient-40/

09-29 19:49