I use QFJ 1.0.1 for testing developement.
I found the  Initiator failover multi-address has a wrong rolling sequence.
 
My setting file like belown:

SocketConnectHost=10.17.198.207
SocketConnectPort=6001

SocketConnectHost1=10.17.198.206
SocketConnectPort1=6001

I expect that session will connect to SocketConnectHost in initializing. if the SocketConnectHost failing in error then the SocketConnectHost1 will replace with it.

But in fact,the session connected to SocketConnectHost1  in initializing.When the SocketConnectHost1 failed in error,session try reconnect to SocketConnectHost1 too.So QFJ could not connect to the right FIX server.

I found belown code of QFJ in class IoSessionInitiator:

    public synchronized void connect() {
        lastReconnectAttemptTime = SystemTime.currentTimeMillis();
        try {
            IoConnector ioConnector = ProtocolFactory. createIoConnector(getNextSocketAddress());
            ConnectFuture connectFuture = ioConnector.connect(getNextSocketAddress(), ioHandler);

            connectFuture.join();
            ioSession = connectFuture.getSession();
        } catch (Throwable e) {
            quickfixSession.getLog().onEvent("Connection failed: " + e.getMessage());
        }
    }  

The method always  try connect with invoking getNextSocketAddress() twice.

So cause the getting error address problem descripted in the begining of this mail.

Is it?

 
Regards,

--
Lin Lejiang