![](/img/trans.png)
[英]How do I decrease the timeouts to create a c3p0 ComboPooledDataSource and get an Oracle db connection?
[英]decrease Wildfly connection timeouts
我的 java 应用程序在 Wildfly 中运行时遇到资源匮乏问题。 它正在对其他 REST 资源进行大量 API 调用,如果这些 API:s 之一变慢,我们的系统也会出现故障。
发生过后端系统在 14 秒内没有响应的情况。 所以我希望我的应用程序在 4 秒后断开连接。 “问题”是我们正在使用javax.ws.rs.client
Client
和ClientBuilder
并且我们使用 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.