我已经获得了以下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上使用此代码。问题是等待1000ms后没有任何反应。这段代码等待无限时间。我猜ClientProperties.CONNECT_TIMEOUT
和ClientProperties.READ_TIMEOUT
不适合WildFly。可能我必须使用其他常量。有人知道这是什么问题吗?
答案 0 :(得分:2)
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/