The main FIX Antenna components are
FIXServer is needed to accept incoming connections. It starts to listen for incoming connections after the start() method. After the stop() method the server stops listening but the application does not stop until all sessions are disconnected. To be able to accept incoming sessions, FIXServerListener should be set.
void newFIXSession(FIXSession session) is executed for every new connection. If session.connect() is not called in this method then connection is rejected. To process messages call session.setFIXSessionListener(FIXSessionListener listener).
Contains two methods:
The FIX session is represented by the FIXSession class. This class is responsible for:
Each session incapsulates a message storage that is used to store the sent and received messages and a queue. A session could be configured to use memory or files on disk to store/queue messages. File storage is reliable and fault tolerant. Memory storage is much faster, but not fault tolerant.
A FIX message may contain repeating groups. Each group contains:
Repeating groups are usually addressed by a leading tag.
To access fields inside a repeating group it is required to get a field value specifying entry number. Entries are enumerated starting from 1.
Note: FIXFieldList contains a convenient method split(int repeatingGroupLeadingTagNumber), that splits a repeating group and provides the list of FIXFieldLists for that repeating group.
The FIXSession.getMessageValidator() method returns MessageValidator that could be used to validate a message. It could be used to validate both message content
ValidationResult validateContent(String msgType, FIXFieldList content);
and an entire FIX message
ValidationResult validate(FIXFieldList message);