private void checkUnsyncedRecords() {
final DbLayer db = DatabaseHelper.getDatabase(getApplicationContext(), false);
LinkedList<SensorData> listaDatiUnsunc = db.fetchSensorData(null, false);
WebService webService = WebServiceHandler.getService();
//endregion
//region Alerts
if (listaDatiUnsunc.size() > 0) {
JsonArray readAlerts = new GsonBuilder().create().toJsonTree(listaDatiUnsunc).getAsJsonArray();
//create request body
JsonObject body = WebServiceHandler.getDefaultBody();
body.addProperty(WebServiceHandler.ID_CLINICAL_DOCUMENT, 70);
body.add(WebServiceHandler.VALORI, readAlerts);
//Log.i(TAG, body.toString());
try {
Call<BaseMessage<JsonElement>> request = webService.insertDatiCalza(body);
Response<BaseMessage<JsonElement>> response = request.execute();
if (response.isSuccessful()) {
BaseMessage<JsonElement> message = response.body();
if (message != null) {
if (message.getStatus() == MessageStatus.SUCCESS) {
Log.d(TAG, "SensorValue sync succeeded");
//AGGIORNO LO STATO DI AGGIORNAMENTO DI TUTTE LE RILEVAZIONI
for (SensorData sens: listaDatiUnsunc) {
sens.setSync(true);
db.updateSensorData(sens);
}
} else {
Log.e(TAG, "SensorValue sync failed: " + message.getMessage() +
" (code: " + message.getStatus() + ")");
}
} else {
Log.e(TAG, "SensorValue sync: reply message is null.");
}
} else {
Log.e(TAG, "SensorValue sync: request failed (code: " +
response.code() + ", body: " + response.message() + ").");
}
} catch (Exception e) {
Log.e(TAG, "SensorValue sync call", e);
} finally {
}
}
//endregion
}
java.net.SocketTimeoutException
这是我的改型类的实例:
public static WebService getService() {
if (webService == null) {
Gson gson = new GsonBuilder()
.setLenient()
.create();
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create(gson)).baseUrl(BASE_URL).build();
webService = retrofit.create(WebService.class);
}
return webService;
}
您可以通过在OKHttpClient
中指定不同的超时来增加超时,该超时用于构建refitfit
实例。
val okhttpclient = new OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(15, TimeUnit.SECONDS);
.build()
并使用它来创建改型实例。
Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
.callFactory(httpClientBuilder.build())
.build()
编辑
public static WebService getService() {
if (webService == null) {
Gson gson = new GsonBuilder()
.setLenient()
.create();
OkHttpClient okhttpclient = OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(15, TimeUnit.SECONDS);
.build()
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create(gson)).baseUrl(BASE_URL).callFactory(okhttpclient).build();
webService = retrofit.create(WebService.class);
}
return webService;
}
如何增加超时,以便在处理响应之前,请求不会超时? Spring Boot中的Tomcat设置: 每秒的请求在15秒的过程中被提升到300,所有的请求都在下面的gatling(蓝色)中看到。 这是由于使用工作线程为300个请求提供服务。 控制器是在SpringMVC中编写的,它返回,执行异步请求处理,因此在处理响应后将恢复响应。 但即使是设置为高位1200000即将结束时有很多503(红色) 加特林
问题内容: 有谁知道在詹金斯注销用户之前如何增加超时窗口?我希望将其提高到1天左右。 我整天都在詹金斯工作,我们在两次工作之间一直注销。令人沮丧的是,“保持登录状态”复选框似乎也不起作用。 问题答案: Jenkins使用Jetty,Jetty的默认超时为30分钟。这与身份验证设置无关-我使用的是Active Directory,但仍然是影响超时的设置。 您可以通过将参数传递给Jenkins初始化脚
我有JMS队列消息处理器序列,其中请求被发送到SOAPendpoint。但是,对此endpoint的请求可能需要很长时间,最多30分钟左右。如何配置ESB以允许长超时值?目前,我在60秒后得到以下错误: 谢谢你的帮助 编辑:我在repository/conf/passthru-http.properties中添加了http.socket.timeout=1800000-property,这似乎解决
谢谢!
我们有一个应用程序,我们在其中对REST API进行一些内部超文本传输协议调用来获取数据。但是有些请求花费的时间比预期的要长,所以我尝试增加超时持续时间。我尝试了以下操作: RequestConfig RequestConfig=RequestConfig.custom()。setConnectTimeout(30*1000)。build();HttpClient HttpClient=HttpC
我正在处理一个Python金字塔rest api,在其中一个请求中,我需要处理一个excel,每一行我都会得到GPS坐标并进行大量验证,这意味着这个请求可能只需要大约10分钟的处理时间,我需要用json向调用方返回一个响应。我不能通过WebSocket发送任何其他内容。 我的问题是:如何增加此请求的超时?这是我的方法: 谢谢任何帮助