0
我创建了一个小客户端api连接到专有的类似休息的服务。我使用org.apache.cxf.jaxrs.client.WebClient
进行连接。在这个客户端上我打电话get()
和post()
。如何从cxf的WebClient获取检查异常或如何处理异常
问题是,如果服务不可用或减慢(我将超时设置为10秒),我只能得到类型为javax.ws.rs.ProcessingException
的RuntimeException。但我需要一个检查异常的各种连接问题,让API的用户对他们作出反应。这个怎么做?
这里是配置Web客户端的客户端代码:
private void configureClient() {
ClientConfiguration config = WebClient.getConfig(client);
HTTPConduit http = (HTTPConduit) config.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(TIMEOUT);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
}
在try {catch(...){处理该消息并抛出自己的checkedexception时捕获runtimeexception。 – pL4Gu33 2015-03-03 09:41:01
有没有办法(由cxf提供)在全球范围内执行此操作,而不是每次调用?我只想确定在开始写这个锅炉板代码之前。如果这是我可能扩展webclient并抛出检查异常的唯一方式?! – dermoritz 2015-03-03 09:47:13
如果你想在全球范围内使用AOP,可能是一个解决方案。 – vincent 2015-03-03 09:50:05