我在Oracle MAF中使用RestServiceAdapter来调用Restfull服务,我想设置服务超时,因为我遇到网络连接时出现问题(例如:低信号,连接错误的接入点等)所以应用程序变得奇怪,它试图做出请求,然后与怪异的行为一起出去。
这是我的代码,它工作得很好,但如果花费的时间超过X秒,我会抛出异常。
public String getJSONResponse(String baseUrlService) throws Exception {
try {
RestServiceAdapter restServiceAdapter = RestServiceAdapterFactory.newFactory().createMcsRestServiceAdapter();
restServiceAdapter.clearRequestProperties();
restServiceAdapter.setConnectionName(REST_STORE_CONNECTION);
restServiceAdapter.setRequestURI(baseUrlService);
restServiceAdapter.setRequestMethod("GET");
//Base 64 de Autenticacion de Weblogic real usuario 'Basic store-rest-user:password'
restServiceAdapter.addRequestProperty("Authorization", "Basic " + loginBase64);
//restServiceAdapter.setRequestType(RestServiceAdapter.REQUEST_TYPE_GET);
String response = restServiceAdapter.send("");
return response;
} catch(Exception e) {
throw new Exception("Error: problema de conexión o problema en servidor");
}
}
答案 0 :(得分:1)
据我所知,RestServiceAdapter中没有选项可以超时连接。但您可以配置重试连接的频率。因此,最佳做法似乎是将重试限制设置为1,然后使用RestServiceAdapter从后台线程访问远程服务。