我的应用程序需要连接到Web服务才能获取xml数据。我有一个主要和次要的Web服务。
如果主服务器无法响应,故障转移到辅助Web服务的最佳方法是什么?另外,我如何设置等待主要的超时时间?
由于
答案 0 :(得分:1)
最佳解决方案是为Web服务设置VIP,并自动进行故障转移。这样,您的应用程序只关心一个端点,而不需要担心细节。
如果您真的想从Java代码处理它,它取决于您用于连接Web服务的库。如果您使用的是核心Java,它可能看起来像这样:
try {
URL primaryURL = new URL(web_service_endpoint);
HttpURLConnection con = (HttpURLConnection) primaryURL.openConnection();
con.setConnectTimeout(5000); //set timeout to 5 seconds
//Try retrieving some XML
} catch (java.net.SocketTimeoutException e) {
//Try connecting to secondary web service
//Maybe a recursive method call with a different URL or something
}