Configuration

Server Behaviour

Property Name Default Value Description
performResetSeqNumTime false This parameter specifies whether to reset sequence number at time defined in resetSequenceTime.
resetSequenceTime 00:00:00 This parameter specifies GMT time when the FIX Engine initiates the reset.
resetSequenceTimeZone UTC Time zone di for resetSequenceTime property.
intraDaySeqNumReset false This parameter specifies whether to reset sequence number after session is closed.
Valid values: true | false.
Default value: false.
encryptionConfig ${fixaj.home}/encryption/encryption.cfg This parameter specifies encryption config file name. Valid values: existent valid config file name (relative or absolute path).
encryptionConfig None This parameter specifies the default value of encryptionMode.
Valid values: None | Des | PgpDesMd5.
Default value: None
autoreconnectAttempts -1 Specifies the number of autoreconnect attempts:
  • negative number - no reconnects,
  • 0 - infinite number of reconnects,
  • positive number - number of reconnect attempts.
Please use 0 wisely - it means attempting to reconnect infinitely.
autoreconnectDelayInMs 1000 Specifies a delay between autoreconnect attempts in milliseconds, the default value is 1000ms.
The parameter must be integer and not negative. Otherwise, FIXAJ will use the default value for this parameter.
loginWaitTimeout 5000 Sets the timeout interval after which a connected acceptor session will be timed out and disposed if Logon is not received for this session.
The parameter must be integer and not negative. Otherwise, FIXAJ will use the default value for this parameter.
forcedLogoffTimeout 2 Sets the disconnect timeout in seconds for a Logout ack only when waiting for.
The Logout ack from the counterparty is caused by the incoming sequence number less then expected. The parameter must be integer and not negative. Otherwise, FIXAJ will use the standard value for this parameter.
sendRejectIfApplicationIsNotAvailable true Sends a reject if user application is not available. If the value is false and client applicaiton is not available, acts like a "black hole" - accepts and ignores all valid messages.
rawTags 96, 91, 213, 349, 351, 353, 355, 357, 359, 361, 363, 365, 446, 619, 622 Raw tags.
List all tags that the Engine should treat as raw. Raw tag may contain a SOH symbol inside it and it should be preceided by the rawTagLength field.
resendRequestNumberOfMessagesLimit 0 Limits the maximum number of messages during the resend request. If more messages are requested, the reject will be sent in response.
The parameter must be integer and not negative. Otherwise, FIXAJ will use the default value for this parameter.
maxRequestResendInBlock 0 The max requested messages in block. This parameter defines how many messages will be request in one block. The value must be integer and not less than 0.
maxMessageSize 1048576 Maximum message size supported by this FIX engine instance.
The parameter must be integer and not negative. Otherwise, FIXAJ will use the default value for this parameter.
includeLastProcessed false Include the last processed sequence 369 tag in every message for FIX versions > 4.2.
enableMessageRejecting false Enable/disable message rejecting. If this feature is enabled and during session closing there are messages in its output queue, they will be passed to session's RejectMessageListener and the queue will be cleaned. In other case messages will be left in the queue and processed according to queue behaviour. Be default this feature is disabled.
enableNagle true Disable/enable Nagle's algorithm for TCP sockets. This option has the opposite meaning to TCP_NO_DELAY socket option. With enabled Nagle's algorithm will be better throughput (TCP_NO_DELAY=false) but with disabled option you will get better result for latency on single message (TCP_NO_DELAY=true)
Default value is true.
connectAddress Engine's local IP address to send from. It can be used on a multi-homed host for a FIX Engine that will only send IP datagrams from one of its addresses.
If this parameter is commented, the engine will send IP datagrams from any/all local addresses.
resetOnSwitchToBackup false Reset sequences on switch to backup.
resetOnSwitchToPrimary false Reset sequences on switch back to primary connection.
enableAutoSwitchToBackupConnection true Enable auto switching to backup connection, the default value is true.
cyclicSwitchBackupConnection true Enable switching to primary connection, the default value is true.
enableSSL false Enables SSL transport for all initiator sessions by default.
For individual session control set this parameter in session configuration.
forceSeqNumReset Never This parameter allow to automatically resolve sequence gap problem (for example, when there is every day sequence reset). Supported values: Always, OneTime, Never.
If this parameter is set to:
  • Always - session will send logon with 34= 1 and 141=Y every times (during connection and reconnection).
  • OneTime - session will send logon with 34= 1 and 141=Y only one time (during connection).
  • Never - this means that user can sets the 34= 1 and 141=Y from session parameters by hand.
checkSendingTimeAccuracy true Toggle on/off the check of SendingTime (52) accuracy for received messages.
reasonableDelayInMs 120000 Sending time delay for incoming messages.
The parameter must be integer and not negative. Otherwise, FIXAJ will use the default values for this parameter.
heartbeatReasonableTransmissionTime 200 This parameter specifies "some reasonable transmission time" of FIX specification, measured in milliseconds.
Valid values: positive integer
measurementAccuracyInMs 1 Measurement accuracy for sending time.
The parameter must be integer and not negative. Otherwise, FIXAJ will use the standard values for these parameters.
system.messagehandler.global.X Set of predefined handlers Sets global message handler(s). A handler will be called upon each and every incoming message.
You can define your own set of global message handlers, but you should be very careful. The default set of handlers provides integrity checks like sending time accuracy, sequencing, visioning, validation.
NOTE: Handlers will be applied in reverse order: handler with bigger number will by applied first.
NOTE: Handler numbers should be unique and sequential.
NOTE: Handlers can prevent further message processing.
user.messagehandler.global.X   User supplied handlers.
This set of handlers will be applied after system handlers for every incoming message (if it does not fall out).
NOTE: Handlers will be applied in reverse order: handler with bigger number will be applied first.
NOTE: Handler numbers should be unique and sequential.
NOTE: Handlers can prevent further message processing. Example: You can enable the DeliverToCompId message handler for the 3rd Party Message routing if needed:
user.messagehandler.global.0=com.epam.fixengine.session.messagehandler.global.DeliverToCompIdMessageHandler
system.messagehandler.MSG_TYPE Set of predefined handlers Sets the handler of per message type, which will be called upon each and every incoming message.
This set of properties is for redefining engine behaviour. You can change the default processing for session message types: Logon(A), Heartbeat(0), Test Request(1), Resend Request(2), Reject(3), Sequence Reset(4), Logout(5).
NOTE: Handler numbers should be unique and sequential. These handlers will be applied after system and user defined global message handlers.
NOTE: Handlers can prevent further message processing.
Example:

system.messagehandler.3=com.mycompany.custom.RejectMessageHandler
autostart.acceptor.targetIds   Coma separated list of TargetCompID for automatic accepting sessions on server.
For each of the sessions below other parameters such as login, password, source IP and listenershould be set.
For example, you can enable the administrative plugin in the following way:

autostart.acceptor.targetIds=admin
autostart.acceptor.admin.login=admin
autostart.acceptor.admin.password=admin
autostart.acceptor.admin.ip=*
autostart.acceptor.admin.fixServerListener=com.epam.admintool.AdminTool
autostart.acceptor.TARGET_ID.login   Username(553) for automatic session acceptance
autostart.acceptor.TARGET_ID.password   Password(554) for automatic session acceptance
autostart.acceptor.TARGET_ID.ip   Source IP for automatic session acceptance or "*" if any applicable
autostart.acceptor.TARGET_ID.fixServerListener   Implementation of FIXServerListener for accepting the given session.

Queue and Storage

Property Name Default Value Description
storageFactory com.epam.fixengine.storage. FilesystemStorageFactory Allows a user to replace storage factory with user's own implementation.
FIX Antenna provides 2 implementations:
queueThresholdSize 0 Maximum number of messages in a queue before we pause a pumper thread to let the queued message be sent out.
  • Set rather high for max performance.
  • Set 1 or pretty low for realtime experience.
  • 0 - disable queue control, do not pause the pumper thread.
The parameter must be integer and not negative. Otherwise, FIXAJ will use the default value for this parameter.
maxMessagesToSendInBatch 100 The maximum number of messages in buffer before we write message to transport.
inMemoryQueue false Sets queue mode.
This property makes sense only if FilesystemStorageFactory is set.
Set to "false" for persistent queue (slower but no messages will be lost), "true" for in-memory queue (faster but less safe, some messages may be lost).
incomingStorageIndexed true Incoming storage index.
This property makes sense only if FilesystemStorageFactory is set.
Enabled index - messages in incoming storage will be available via API.
outgoingStorageIndexed true Outgoing storage index.
This property makes sense only if FilesystemStorageFactory is set.
Set to "true" to enable outgoing storage index that is to be used in decision making in resend request handler. Enabled index - support resend request, disabled - never resend messages and always send gap fill.
storageGrowSize false Enable/disable storage grow.
Default value: false.
This parameter and maxStorageGrowSize works only with persistent session.
maxStorageGrowSize 1Mb Sets the maximum storage grow size in bytes.
Parameter must be integer and not negative.
Default value: 1Mb.
timestampsInLogs true Ability to write timestamps in the in/out log files.
Default value: true.
logFilesTimeZone System time zone Specifies the time zone and affects on the time stamp prefix in the FIX in/out logs. The parameter should has the following format GMT[�]HH[:MM] or full name America/Los_Angeles. For sample: logFilesTimeZone=UTC
storageDirectory logs Storage directory could be either an absolute path (like /tmp/logs or c:\fixengine\logs) or a relative path, e.g. logs (this one is relative to the application start directory).
This property makes sense only if FilesystemStorageFactory is set.
storageCleanupMode None This parameter specifies cleaning mode for message storage of closed sessions.
Valid values: None | Backup | Delete.
Default value: None.
incomingLogFile {0}-{1}.in Incoming log filename template.
{0} will be replaced with actual SenderCompID, {1} with actual TargetCompID.
This property makes sense only if FilesystemStorageFactory is set.
outgoingLogFile {0}-{1}.out Outgoing log filename template.
{0} will be replaced with actual SenderCompID, {1} with actual TargetCompID.
This property makes sense only if FilesystemStorageFactory is set.
sessionInfoFile {0}-{1}.properties Info filename template.
{0} will be replaced with actual SenderCompID, {1} with actual TargetCompID.
This property makes sense only if FilesystemStorageFactory is set.
outgoingQueueFile {0}-{1}.outq Out queue file template.
{0} will be replaced with actual SenderCompID, {1} with actual TargetCompID.
This property makes sense only if FilesystemStorageFactory is set.

Validation

Property Name Default Value Description
origSendingTimeChecking true This parameter specifies whether to check the OrigSendingTime(122) field value for incoming possible duplicated messages (PossDupFlag(43) = 'Y')
alid values: true | false
validation true Toggle on/off the validation of incoming messages according to the base of custom dictionaries.
The following parameters work only if this property set to "true".
wellformenessValidation true Toggle on/off validation of fields with tag 8, 9, 35 and 10 values.
allowedFieldsValidation true Toggle on/off validation of allowed message fields.
requiredFieldsValidation true Toggle on/off validation of required message fields.
fieldOrderValidation true Toggle on/off validation of fields order in message. With this option engine will check that tags from the header, body and trailer were not mixed up.
duplicateFieldsValidation true Toggle on/off validation of duplicated message fields.
fieldTypeValidation true Toggle on/off validation of field values according to defined data types.
groupValidation true Toggle on/off validation of repeating group fields.
conditionalValidation true Conditional validation is very time consuming, so use it carefully.
validation.FIXVERSION.additionalDictionaryFileName Path to file with customization for FIXVERSION.

Administrative plugin

Property  Name Default Value Description
autostart.acceptor.command.package   Name of the custom package for admin command processing.
This property is used for extending the count of admin-commands. By default the package is null, but if custom commands are present, this property should be initialized.
Example:

autostart.acceptor.command.package=com.admin.commands

Source code of the default config can be found here: Default Configuration

Generated on Wed Jun 8 16:39:30 2011 for FIXAntennaJava by  doxygen 1.6.3