diff --git a/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java b/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java index de725bfe96..232bef5854 100644 --- a/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java +++ b/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java @@ -266,7 +266,6 @@ private void pollConnectFuture() { private void handleConnectException(Throwable e) { ++connectionFailureCount; SocketAddress socketAddress = socketAddresses[getCurrentSocketAddressIndex()]; - unresolveCurrentSocketAddress(socketAddress); while (e.getCause() != null) { e = e.getCause(); } @@ -284,28 +283,16 @@ private void handleConnectException(Throwable e) { private SocketAddress getNextSocketAddress() { SocketAddress socketAddress = socketAddresses[nextSocketAddressIndex]; - // QFJ-266 Recreate socket address for unresolved addresses - if (socketAddress instanceof InetSocketAddress) { - InetSocketAddress inetAddr = (InetSocketAddress) socketAddress; - if (inetAddr.isUnresolved()) { - socketAddress = new InetSocketAddress(inetAddr.getHostName(), inetAddr - .getPort()); - socketAddresses[nextSocketAddressIndex] = socketAddress; - } - } + // Recreate socket address to avoid cached address resolution + if (socketAddress instanceof InetSocketAddress) { + InetSocketAddress inetAddr = (InetSocketAddress) socketAddress; + socketAddress = new InetSocketAddress(inetAddr.getHostName(), inetAddr.getPort()); + socketAddresses[nextSocketAddressIndex] = socketAddress; + } nextSocketAddressIndex = (nextSocketAddressIndex + 1) % socketAddresses.length; return socketAddress; } - // QFJ-822 Reset cached DNS resolution information on connection failure. - private void unresolveCurrentSocketAddress(SocketAddress socketAddress) { - if (socketAddress instanceof InetSocketAddress) { - InetSocketAddress inetAddr = (InetSocketAddress) socketAddress; - socketAddresses[getCurrentSocketAddressIndex()] = InetSocketAddress.createUnresolved( - inetAddr.getHostString(), inetAddr.getPort()); - } - } - private int getCurrentSocketAddressIndex() { return (nextSocketAddressIndex + socketAddresses.length - 1) % socketAddresses.length; }