Description
There's some code in FailoverTransport.oneway that was intended to MessageAck commands when the transport was in a failed state that will never be called.
if (isShutdownCommand(command) && connectedTransport.get() == null) { if (command.isShutdownInfo()) { // Skipping send of ShutdownInfo command when not // connected. return; } if (command instanceof RemoveInfo || command.isMessageAck()) { // Simulate response to RemoveInfo command or ack (as it // will be stale) stateTracker.track(command); Response response = new Response(); response.setCorrelationId(command.getCommandId()); myTransportListener.onCommand(response); return; } }
The inner if statement that looks for MessageAck will never be reachable since a MessageAck is not a RemoveInfo or ShutdownInfo command which is the condition for getting into the outer if.