Lines 217-223
Link Here
|
217 |
List<InetAddress> addresses = new ArrayList<>(); |
217 |
List<InetAddress> addresses = new ArrayList<>(); |
218 |
for (String address : Arrays.asList(entry.getAddress().split("\\s*,\\s*"))) { |
218 |
for (String address : Arrays.asList(entry.getAddress().split("\\s*,\\s*"))) { |
219 |
try { |
219 |
try { |
220 |
addresses.addAll(Arrays.asList(requestLookup(address))); |
220 |
final InetAddress[] requestLookup = requestLookup(address); |
|
|
221 |
if (requestLookup != null) { |
222 |
addresses.addAll(Arrays.asList(requestLookup)); |
223 |
} |
221 |
} catch (UnknownHostException e) { |
224 |
} catch (UnknownHostException e) { |
222 |
log.warn("Couldn't resolve static address {} for host {}", address, host, e); |
225 |
log.warn("Couldn't resolve static address {} for host {}", address, host, e); |
223 |
} |
226 |
} |
Lines 239-263
Link Here
|
239 |
ExtendedResolver extendedResolver = getResolver(); |
242 |
ExtendedResolver extendedResolver = getResolver(); |
240 |
if (extendedResolver != null) { |
243 |
if (extendedResolver != null) { |
241 |
if(extendedResolver.getResolvers().length > 0) { |
244 |
if(extendedResolver.getResolvers().length > 0) { |
242 |
try { |
245 |
for (Resolver currentResolver : extendedResolver |
243 |
Lookup lookup = new Lookup(host, Type.A); |
246 |
.getResolvers()) { |
244 |
lookup.setCache(lookupCache); |
247 |
log.debug("Use custom resolver: {}", currentResolver); |
245 |
if (timeoutMs > 0) { |
248 |
try { |
246 |
resolver.setTimeout(timeoutMs / 1000, timeoutMs % 1000); |
249 |
Lookup lookup = new Lookup(host, Type.A); |
|
|
250 |
lookup.setCache(lookupCache); |
251 |
if (timeoutMs > 0) { |
252 |
currentResolver.setTimeout(timeoutMs / 1000, |
253 |
timeoutMs % 1000); |
254 |
} |
255 |
lookup.setResolver(currentResolver); |
256 |
Record[] records = lookup.run(); |
257 |
if (records == null || records.length == 0) { |
258 |
log.debug("Lookup of host {} failed with {}", |
259 |
host, currentResolver); |
260 |
continue; |
261 |
} |
262 |
addresses = new InetAddress[records.length]; |
263 |
for (int i = 0; i < records.length; i++) { |
264 |
addresses[i] = ((ARecord) records[i]) |
265 |
.getAddress(); |
266 |
} |
267 |
} catch (TextParseException tpe) { |
268 |
log.debug("Failed to create Lookup object: " + tpe); |
247 |
} |
269 |
} |
248 |
lookup.setResolver(resolver); |
270 |
return addresses; |
249 |
Record[] records = lookup.run(); |
|
|
250 |
if (records == null || records.length == 0) { |
251 |
throw new UnknownHostException("Failed to resolve host name: " + host); |
252 |
} |
253 |
addresses = new InetAddress[records.length]; |
254 |
for (int i = 0; i < records.length; i++) { |
255 |
addresses[i] = ((ARecord) records[i]).getAddress(); |
256 |
} |
257 |
} catch (TextParseException tpe) { |
258 |
log.debug("Failed to create Lookup object: " + tpe); |
259 |
} |
271 |
} |
260 |
return addresses; |
272 |
throw new UnknownHostException( |
|
|
273 |
"Failed to resolve host name: " + host); |
261 |
} |
274 |
} |
262 |
} else { |
275 |
} else { |
263 |
throw new UnknownHostException("Could not resolve host:"+host |
276 |
throw new UnknownHostException("Could not resolve host:"+host |