diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/FailoverConnectionMonitor.java b/src/net/java/sip/communicator/impl/protocol/jabber/FailoverConnectionMonitor.java index e3293dfca..ac0abc759 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/FailoverConnectionMonitor.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/FailoverConnectionMonitor.java @@ -242,6 +242,9 @@ public void run() if(isConnectedToPrimary(currentRecords)) return; + // Clear DNS cache. + NetworkUtils.clearDefaultDNSCache(); + SRVRecord srv = getPrimaryServerRecord(currentRecords); ConnectionConfiguration confConn = new ConnectionConfiguration( diff --git a/src/net/java/sip/communicator/util/NetworkUtils.java b/src/net/java/sip/communicator/util/NetworkUtils.java index 90923ec5d..5e885895f 100644 --- a/src/net/java/sip/communicator/util/NetworkUtils.java +++ b/src/net/java/sip/communicator/util/NetworkUtils.java @@ -1462,4 +1462,13 @@ private static void moveSelectedSRVRecord( } } } + + /** + * Clears the default DNS cache. + */ + public static void clearDefaultDNSCache() + { + Cache defaultCache = Lookup.getDefaultCache(DClass.IN); + defaultCache.clearCache(); + } }