如何在Oracle MAF中设置RestServiceAdapter的超时?

时间:2016-10-14 13:59:46

标签: oracle-adf oracle-maf maf

我在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");
    }
}

1 个答案:

答案 0 :(得分:1)

据我所知,RestServiceAdapter中没有选项可以超时连接。但您可以配置重试连接的频率。因此,最佳做法似乎是将重试限制设置为1,然后使用RestServiceAdapter从后台线程访问远程服务。