CoralFIX viene fornito con un'implementazione server pronta all'uso che è possibile attivare e iniziare ad accettare le connessioni dai client FIX. Esso si occuperà di tutti i dettagli a livello di sessione FIX come accesso, battito cardiaco, azzeramento sequenza, Richiesta di rinvio, ecc Per implementare un semplice server per le prove di tutto quello che dovete fare è:
import com.coralblocks.coralfix.FixMessage;
import com.coralblocks.coralreactor.client.Client;
import com.coralblocks.coralreactor.nio.NioReactor;
import com.coralblocks.coralreactor.util.Configuration;
import com.coralblocks.coralreactor.util.MapConfiguration;
public class SimpleFixApplicationServer extends FixApplicationServer {
public SimpleFixApplicationServer(NioReactor nio, int port, Configuration config) {
super(nio, port, config);
}
@Override
protected void handleFixApplicationMessage(Client client, FixMessage fixMsg, boolean possDupe) {
// do whatever you want to do with the application message received from this client...
}
public static void main(String[] args) {
NioReactor nio = NioReactor.create();
MapConfiguration config = new MapConfiguration();
// print all messages received and sent to STDOUT for debugging purposes
// (default is false)
config.add("debugMessages", "true");
// accept as the client inbound sequence whatever
// sequence I receive in the first message coming from the client
// (default is false)
config.add("acceptInboundSeqFromClient", "false");
Server server = new SimpleFixApplicationServer(nio, 45451, config);
server.open();
nio.start();
}
}
Una spiegazione completa del codice sopra può essere trovato here.
Disclaimer: Sono uno degli sviluppatori di CoralFIX.
E il servizio di annullamento dell'ordine? – chrisapotek
No. È possibile utilizzare questi "Server" solo per testare le connessioni e l'esecuzione di ordini limite. – stexcec
Penso che questo FIXimulator ti permetta di fare tutto ciò che vuoi nell'ordine attraverso una GUI. Se questo è vero, è molto bello. – chrisapotek