Avoid self-deletion of ParallelResolver after a network change

cusax-fix
Ingo Bauersachs 14 years ago
parent 756153148e
commit 2a8a9af71e

@ -92,20 +92,10 @@ public class ParallelResolverImpl
*/
ParallelResolverImpl()
{
try
{
defaultResolver = new ExtendedResolver();
}
catch (UnknownHostException e)
{
//should never happen
throw new RuntimeException("Failed to initialize resolver");
}
DnsUtilActivator.getConfigurationService()
.addPropertyChangeListener(this);
initProperties();
Lookup.setDefaultResolver(this);
reset();
}
private void initProperties()
@ -382,38 +372,21 @@ public void setTimeout(int secs)
* Resets resolver configuration and populate our default resolver
* with the newly configured servers.
*/
public void reset()
public final void reset()
{
Lookup.refreshDefault();
ExtendedResolver resolver = (ExtendedResolver)defaultResolver;
// remove old ones
for(Resolver r : resolver.getResolvers())
{
resolver.deleteResolver(r);
}
// populate with new servers after refreshing configuration
try
{
String [] servers = ResolverConfig.getCurrentConfig().servers();
if (servers != null)
{
for (int i = 0; i < servers.length; i++)
{
Resolver r = new SimpleResolver(servers[i]);
//r.setTimeout(quantum);
resolver.addResolver(r);
}
}
else
{
resolver.addResolver(new SimpleResolver());
}
Lookup.setDefaultResolver(this);
ExtendedResolver temp = new ExtendedResolver();
temp.setTimeout(10);
defaultResolver = temp;
}
catch (UnknownHostException e)
{
//should never happen
// should never happen
throw new RuntimeException("Failed to initialize resolver");
}
}

Loading…
Cancel
Save