com.epam.fixengine.configuration
Class Configuration

java.lang.Object
  extended by com.epam.fixengine.configuration.Configuration
All Implemented Interfaces:
Cloneable

public class Configuration
extends Object
implements Cloneable

Engine configuration class. Engine used Configuration#getGlobalConfiguration method to configure itself, user can change this properties in runtime only for initiator sessions, not for acceptors.


Nested Class Summary
static interface Configuration.DefaultValue
           
static interface Configuration.Validator
           
 class Configuration.ValidatorInteger
          User value validator for rage max >= UserValue >= min
 
Field Summary
static String ACCURACY
          Measurement accuracy, default value is 1 ms.
static String ADVANCED_RESEND_REQUEST_PROCESSING
          This parameter specifies whether to issue subsequently duplicates (PossDupFlag(43) = 'Y') of last Resend Request for continuing gaps resting on LastMsgSeqNumProcessed(369) field values of incoming messages.
static String ALLOWED_FIELDS_VALIDATION
          Toggle on/off validation of allowed message fields.
static String AUTORECONNECT_ATTEMPTS
          Specifies number of autoreconnect attempts before give up: # negative number = no reconnects (NO_AUTORECONNECT), # 0 - infinite number of reconnects (INFINITY_AUTORECONNECT), # positive number = number of reconnect attempts # Please use 0 wisely - it means reconnect infinitely
static String AUTORECONNECT_DELAY_IN_MS
          Specifies delay between autoreconnect attempts in milliseconds, default value is 1000ms.
static String AUTOSTART_ACCEPTOR_COMMAND_PACKAGE
          Name of the custom package for admin commands processing This property is using for the extending the count of admin-commands.
static String BACKUP_INCOMING_LOG_FILE
          Backup incoming log filename template. {0} will be replaced with actual sessionID, {1} with SenderCompID, {2} with actual TargetCompID, {3} with timestamp and {4} with actual session qualifier.
static String BACKUP_OUTGOING_LOG_FILE
          Backup outgoing log filename template. {0} will be replaced with actual sessionID, {1} with SenderCompID, {2} with actual TargetCompID, {3} with timestamp and {4} with actual session qualifier.
static String BLOCKING_NIO_SOCKET
          This parameter specifies to use NIO blocking sockets or not.
static String CHECK_SENDING_TIME_ACCURACY
          Toggle on/off the check of SendingTime (52) accuracy for received messages.
static String CONDITIONAL_VALIDATION
          enable/disable conditional validator, default value is false.
static String CONNECT_ADDRESS
          Engine's local IP address to send from.
static String CONNECTION_SWITCH_DELAY_IN_MS
          Specifies delay before switched to backup(primary) connection in milliseconds, default value is 0ms.
static String CYCLIC_SWITCH_BACKUP_CONNECTION
          Enable switch to primary connection, default value true
static String DELAY
          Sending time delay for incoming messages.
static String DES_KEY_PREFIX
           
static String DUPLICATE_FIELDS_VALIDATION
          Toggle on/off validation of duplicated message fields.
static String ENABLE_AUTO_SWITCH_TO_BACKUP_CONNECTION
          Enable auto switching to backup connection, the default value is true.
static String ENABLE_LOGGING_OF_INCOMING_MESSAGES
           
static String ENABLE_MESSAGE_REJECTING
          Enable/disable message rejecting, default value is false
static String ENABLE_MESSAGE_STATISTIC
          Enable/disable message statistic, default value is true
static String ENABLE_NAGLE
          Disable/enable Nagle's algorithm for TCP sockets.
static String ENABLE_SSL
          Enables SSL transport for all initiator sessions by default.
static String ENCRYPTION_CFG_FILE
          This parameter specifies encryption config file name.
static String ENCRYPTION_MODE
          This parameter specifies the default value of encryptionMode.
static String FIELD_ORDER_VALIDATION
          Toggle on/off validation of fields order in message.
static String FIELD_TYPE_VALIDATION
          Toggle on/off validation of field values according to defined data types.
static String FIXAJ_HOME
          Sets path to fixaj home.
static String FORCE_SEQ_NUM_RESET
          This parameter allow to automatically resolve sequence gap problem (for example, when there is every day sequence reset).
static String FORCED_LOGOFF_TIMEOUT
          Sets the disconnect timeout in seconds for a Logout ack only when waiting for.
static String GROUP_VALIDATION
          Enable/disable group validator, default value is false.
static String HBT_REASONABLE_TRANSMISSION_TIME
          This parameter specifies "some reasonable transmission time" of FIX specification, measured in milliseconds.
static String IGNORE_POSS_DUP_FOR_GAP_FILL
          Enable this option if it need to handle SequenceReset-GapFill message without PossDupFlag(43).
static String IGNORE_SEQ_NUM_TOO_LOW_AT_LOGON
          This paramter allow to resolve seqNum too low problem at logon.
static String IN_MEMORY_QUEUE
          Sets queue mode.
static String INCLUDE_LAST_PROCESSED
          Include last processed sequence 369 tag in every message for FIX versions>4.2
static String INCOMING_LOG_FILE
          Incoming log filename template. {0} will be replaced with actual sessionID, {1} with actual SenderCompID, {2} with actual TargetCompID and {4} with actual session qualifier.
static String INCOMING_STORAGE_INDEXED
          True will enables incoming storage index.
static String INFINITY_AUTORECONNECT
           
static String INTRA_DAY_SEQNUM_RESET
          This parameter specifies whether to reset sequence number after session is closed.
static String LOG_FILES_TIME_ZONE
          Time zone for prefix in out/in logs
static String LOGIN_WAIT_TIMEOUT
          Sets the timeout interval after which a connected acceptor session will be timed out and disposed if Logon is not received for this session.
static String LOGON_MESSAGE_SESSION_QUALIFIER_TAG
          Specifies tag number for session qualifier in logon message.
static String LOGOUT_WAIT_TIMEOUT
          Sets disconnect timeout in seconds for logoff, default value is equal to session's HeartbeatInterval
static String MARK_INCOMING_MESSAGE_TIME
          Transport will set the additional time mark in nanoseconds for incoming messages right after read data from socket if this option is set to true.
static String MAX_DELAY_TO_SEND_AFTER_LOGON
          The pause before sending application messages from outgoing queue in milliseconds after receiving Logon.
static String MAX_MESSAGE_SIZE
          Maximum message size supported by this FIX engine instance.
static String MAX_MESSAGES_TO_SEND_IN_BATCH
          The maximum number of messages in buffer before we write message to transport.
static String MAX_REQUEST_RESEND_IN_BLOCK
          The max requested messages in block.
static String MAX_STORAGE_GROW_SIZE
          Sets the maximum storage grow size in bytes.
static String MAX_STORAGE_SLICE_SIZE
          Specifies the maximum size of the storage file after which the engine creates a new storage file with a different name.
static int MAX_TIMEOUT_VALUE
          Identifies a maximum HBI in seconds.
static String MEMORY_MAPPED_QUEUE
          Sets persistent queue mode for MMFStorageFactory.
static String MMF_INDEX_GROW_SIZE
          Sets the index grow size in bytes for memory mapped implementation.
static String MMF_STORAGE_GROW_SIZE
          Sets the storage grow size in bytes for memory mapped implementation.
static String NO_AUTORECONNECT
           
static String ORIG_SENDING_TIME_CHECKING
          This parameter specifies whether to check the OrigSendingTime(122) field value for incoming possible duplicated messages (PossDupFlag(43) = 'Y').
static String OUTGOING_LOG_FILE
          Outgoing log filename template. {0} will be replaced with actual sessionID, {1} with actual SenderCompID, {2} with actual TargetCompID and {4} with actual session qualifier.
static String OUTGOING_QUEUE_FILE
          Out queue file template. {0} will be replaced with actual sessionID, {1} with actual SenderCompID, {2} with actual TargetCompID and {4} with actual session qualifier.
static String OUTGOING_STORAGE_INDEXED
          Outgoing storage index.
static String PERFORM_RESET_SEQ_NUM_TIME
          This parameter specifies whether to reset sequence number at time defined in resetSequenceTime.
static String POSS_DUP_SMART_DELIVERY
          This parameter enables delivery of only those PossDup messages that wasn't received previously.
static String PREFERRED_SENDING_MODE
          This parameter specifies the way the session will send most of its messages:
SYNC - session will be optimized to send messages from user thread
ASYNC - session will send all message asynchronously and it will be optimized for this

Valid values: sync/async Default value: sync

static String PUB_KEY
           
static String PUB_KEY_FILE
           
static String QUEUE_THRESHOLD_SIZE
          Maximum number of messages in a queue before we pause a pumper thread to let the queued message be sent out.
static String RAW_TAGS
          Raw tags.
static String REQUIRED_FIELDS_VALIDATION
          Toggle on/off validation of required message fields.
static String RESEND_REQUEST_NUMBER_OF_MESSAGES_LIMIT
          Limits the maximum number of messages during the resend request.
static String RESET_ON_SWITCH_TO_BACKUP
          Reset sequences on switch to backup.
static String RESET_ON_SWITCH_TO_PRIMARY
          Reset sequences on switch back to primary connection
static String RESET_SEQUENCE_TIME
          This parameter specifies GMT time when the FIX Engine initiates the reset of sequence numbers.
static String RESET_SEQUENCE_TIME_ZONE
          Time zone di for resetSequenceTime property.
static String SEC_KEY_FILE
           
static String SEND_REJECT_IF_APPLICATION_IS_NOT_AVAILABLE
          Sends a reject if user application is not available.
static String SERVER_ACCEPTOR_STRATEGY
          This parameter specifies the default Acceptor Strategy.
static String SESSION_INFO_FILE
          Info filename template. {0} will be replaced with actual sessionID, {1} with actual SenderCompID, {2} with actual TargetCompID and {4} with actual session qualifier.
static String SKIP_DUPLICATED_RESEND_REQUEST
          This parameter specifies whether respond only to the original request or a subsequent duplicate Resend Request if it missed the original.
static String SPINNING_NIO_READ
          This parameter specifies to use spinning read mechanism in NIO transport.
static String STORAGE_BACKUP_DIR
          This parameter specifies back-up directory for message logs of closed sessions when storageCleanupMode=backup.
static String STORAGE_CLEANUP_MODE
          This parameter specifies cleaning mode for message storage of closed sessions.
static String STORAGE_DIRECTORY
          Storage directory could be either absolute path (like /tmp/logs or c:\fixengine\logs) or relative path e.g. logs (this one is relative to the application start directory).
static String STORAGE_FACTORY
          Allows user to replace storage factory with user own implementation
static String STORAGE_GROW_SIZE
          Enable/disable storage grow.
static String SWITCH_OFF_SENDING_MULTIPLE_RESEND_REQUESTS
          This parameter switches on mode which prevent sending multiple RR for the same gap
static String TEST_REQUESTS_NUMBER_UPON_DISCONNECTION
          This parameter specifies number of Test Request messages, which will be sent before connection loss is reported when no messages are received from the counterparty.
static String TIMESTAMPS_IN_LOGS
          Ability to write timestamps in the in/out log files.
static String USE_JAVA_NIO
          This parameter specifies to use NIO transport or traditional blocking implementation.
static String VALIDATE_CHECK_SUM
          Validate or not message CheckSum(10) Is relevant only if validateGarbledMessage=true default value is true
static String VALIDATE_GARBLED_MESSAGE
          Toggle on/off validation garbled message for incoming flow.
static String VALIDATION
          Toggle on/off validation of incoming messages according to base of custom dictionaries Following parameters with the Validation suffix works only if this property set to true.
static String WAIT_FOR_MSG_QUEUING_DELAY
          This parameter specifies the maximum delay interval on message sending if the internal session queue is full.
static String WELFORMED_VALIDATOR
          Toggle on/off validation of fields with tag 8, 9, 35 and 10 values.
 
Constructor Summary
Configuration(Map map)
          Create a Configuration based on Map properties.
Configuration(Properties map)
          Create a Configuration based on Map properties.
Configuration(String prop)
          Create a Configuration.
 
Method Summary
 void addAllProperties(Map newProps)
           
 Object clone()
           
 boolean equals(Object o)
           
static Configuration getGlobalConfiguration()
          Get global configuration.
 Properties getProperties()
          Get all properties.
 String getProperty(String propertyName)
          Getter for property.
 String getProperty(String propertyName, boolean nullable)
          Getter for property.
 String getProperty(String propertyName, Configuration.Validator validator, boolean nullable)
          Getter for property.
 String getProperty(String propertyName, Configuration.Validator validator, boolean nullable, boolean warnInLog)
          Getter for property.
 String getProperty(String propertyName, String defaultValue)
          Getter for property.
 boolean getPropertyAsBoolean(String propertyName)
          Get property value as boolean.
 boolean getPropertyAsBoolean(String propertyName, boolean defaultValue)
          Get property value as boolean.
 int getPropertyAsBytesLength(String propertyName)
          Get property value as bytes length.
 int getPropertyAsBytesLength(String propertyName, int defaultValue)
          Get property value as bytes length.
 int getPropertyAsInt(String propertyName)
          Get property value as int.
 int getPropertyAsInt(String propertyName, int defaultValue)
          Get property value as int.
 int getPropertyAsInt(String propertyName, int min, int max)
          Get property value as int.
 int getPropertyAsInt(String propertyName, int min, int max, boolean warnToLog)
          Get property value as int.
 long getPropertyAsLong(String propertyName)
          Get property value as long.
 long getPropertyAsLong(String propertyName, long defaultValue)
          Get property value as long.
 int hashCode()
           
 void printConfiguration()
          Prints configuration to log.
 void setAllProperties(Map newProps)
           
 void setProperty(String propertyName, String propertyValue)
          Setter for properties.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_TIMEOUT_VALUE

public static int MAX_TIMEOUT_VALUE
Identifies a maximum HBI in seconds.


INFINITY_AUTORECONNECT

public static final String INFINITY_AUTORECONNECT
See Also:
Constant Field Values

NO_AUTORECONNECT

public static final String NO_AUTORECONNECT
See Also:
Constant Field Values

RESET_ON_SWITCH_TO_BACKUP

public static final String RESET_ON_SWITCH_TO_BACKUP
Reset sequences on switch to backup.

See Also:
Constant Field Values

RESET_ON_SWITCH_TO_PRIMARY

public static final String RESET_ON_SWITCH_TO_PRIMARY
Reset sequences on switch back to primary connection

See Also:
Constant Field Values

SWITCH_OFF_SENDING_MULTIPLE_RESEND_REQUESTS

public static final String SWITCH_OFF_SENDING_MULTIPLE_RESEND_REQUESTS
This parameter switches on mode which prevent sending multiple RR for the same gap

See Also:
Constant Field Values

AUTORECONNECT_ATTEMPTS

public static final String AUTORECONNECT_ATTEMPTS
Specifies number of autoreconnect attempts before give up: # negative number = no reconnects (NO_AUTORECONNECT), # 0 - infinite number of reconnects (INFINITY_AUTORECONNECT), # positive number = number of reconnect attempts # Please use 0 wisely - it means reconnect infinitely

See Also:
Constant Field Values

STORAGE_FACTORY

public static final String STORAGE_FACTORY
Allows user to replace storage factory with user own implementation

See Also:
Constant Field Values

SEND_REJECT_IF_APPLICATION_IS_NOT_AVAILABLE

public static final String SEND_REJECT_IF_APPLICATION_IS_NOT_AVAILABLE
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.

See Also:
Constant Field Values

ENABLE_AUTO_SWITCH_TO_BACKUP_CONNECTION

public static final String ENABLE_AUTO_SWITCH_TO_BACKUP_CONNECTION
Enable auto switching to backup connection, the default value is true.

See Also:
Constant Field Values

CYCLIC_SWITCH_BACKUP_CONNECTION

public static final String CYCLIC_SWITCH_BACKUP_CONNECTION
Enable switch to primary connection, default value true

See Also:
Constant Field Values

AUTORECONNECT_DELAY_IN_MS

public static final String AUTORECONNECT_DELAY_IN_MS
Specifies delay between autoreconnect attempts in milliseconds, default value is 1000ms.

See Also:
Constant Field Values

LOGON_MESSAGE_SESSION_QUALIFIER_TAG

public static final String LOGON_MESSAGE_SESSION_QUALIFIER_TAG
Specifies tag number for session qualifier in logon message.

See Also:
Constant Field Values

CONNECTION_SWITCH_DELAY_IN_MS

public static final String CONNECTION_SWITCH_DELAY_IN_MS
Specifies delay before switched to backup(primary) connection in milliseconds, default value is 0ms.

See Also:
Constant Field Values

AUTOSTART_ACCEPTOR_COMMAND_PACKAGE

public static final String AUTOSTART_ACCEPTOR_COMMAND_PACKAGE
Name of the custom package for admin commands processing This property is using for the extending the count of admin-commands. By default package is null, but if custom commands is present this property should be initialized, for example (autostart.acceptor.commands.package=com.admin.commands).

See Also:
Constant Field Values

ENABLE_NAGLE

public static final String ENABLE_NAGLE
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)

See Also:
Constant Field Values

ENABLE_SSL

public static final String ENABLE_SSL
Enables SSL transport for all initiator sessions by default. For individual session control set this parameter in session configuration.

See Also:
Constant Field Values

RESEND_REQUEST_NUMBER_OF_MESSAGES_LIMIT

public static final String RESEND_REQUEST_NUMBER_OF_MESSAGES_LIMIT
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.

See Also:
Constant Field Values

WELFORMED_VALIDATOR

public static final String WELFORMED_VALIDATOR
Toggle on/off validation of fields with tag 8, 9, 35 and 10 values. If "validation=false" then this parameter always reads as false.

See Also:
Constant Field Values

ALLOWED_FIELDS_VALIDATION

public static final String ALLOWED_FIELDS_VALIDATION
Toggle on/off validation of allowed message fields. If "validation=false" then this parameter always reads as false.

See Also:
Constant Field Values

REQUIRED_FIELDS_VALIDATION

public static final String REQUIRED_FIELDS_VALIDATION
Toggle on/off validation of required message fields. If "validation=false" then this parameter always reads as false.

See Also:
Constant Field Values

FIELD_TYPE_VALIDATION

public static final String FIELD_TYPE_VALIDATION
Toggle on/off validation of field values according to defined data types.

See Also:
Constant Field Values

CONDITIONAL_VALIDATION

public static final String CONDITIONAL_VALIDATION
enable/disable conditional validator, default value is false.

See Also:
Constant Field Values

GROUP_VALIDATION

public static final String GROUP_VALIDATION
Enable/disable group validator, default value is false.

See Also:
Constant Field Values

DUPLICATE_FIELDS_VALIDATION

public static final String DUPLICATE_FIELDS_VALIDATION
Toggle on/off validation of duplicated message fields. If "validation=false" then this parameter always reads as false.

See Also:
Constant Field Values

FIELD_ORDER_VALIDATION

public static final String FIELD_ORDER_VALIDATION
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. If "validation=false" then this parameter always reads as false.

See Also:
Constant Field Values

DELAY

public static final String DELAY
Sending time delay for incoming messages.

See Also:
Constant Field Values

ACCURACY

public static final String ACCURACY
Measurement accuracy, default value is 1 ms.

See Also:
Constant Field Values

CHECK_SENDING_TIME_ACCURACY

public static final String CHECK_SENDING_TIME_ACCURACY
Toggle on/off the check of SendingTime (52) accuracy for received messages.

See Also:
Constant Field Values

ENABLE_MESSAGE_REJECTING

public static final String ENABLE_MESSAGE_REJECTING
Enable/disable message rejecting, default value is false

See Also:
Constant Field Values

ENABLE_MESSAGE_STATISTIC

public static final String ENABLE_MESSAGE_STATISTIC
Enable/disable message statistic, default value is true

See Also:
Constant Field Values

QUEUE_THRESHOLD_SIZE

public static final String QUEUE_THRESHOLD_SIZE
Maximum number of messages in a queue before we pause a pumper thread to let the queued message be sent out.

See Also:
Constant Field Values

MAX_MESSAGES_TO_SEND_IN_BATCH

public static final String MAX_MESSAGES_TO_SEND_IN_BATCH
The maximum number of messages in buffer before we write message to transport. NOTE: Value for this property should be always > 0. default value is 10

See Also:
Constant Field Values

MAX_MESSAGE_SIZE

public static final String MAX_MESSAGE_SIZE
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. Should be set to a greater than expected maximum message by approximately 1-5%.

See Also:
Constant Field Values

VALIDATE_CHECK_SUM

public static final String VALIDATE_CHECK_SUM
Validate or not message CheckSum(10) Is relevant only if validateGarbledMessage=true default value is true

See Also:
Constant Field Values

VALIDATE_GARBLED_MESSAGE

public static final String VALIDATE_GARBLED_MESSAGE
Toggle on/off validation garbled message for incoming flow. Validates the existence and order of the following fields: BeginString(8), BodyLength(9), MsgType(35), CheckSum(10). Also validates value of BodyLength(9). default value is true

See Also:
Constant Field Values

MARK_INCOMING_MESSAGE_TIME

public static final String MARK_INCOMING_MESSAGE_TIME
Transport will set the additional time mark in nanoseconds for incoming messages right after read data from socket if this option is set to true. AbstractFIXTransport.getLastReadMessageTimeNano() method could return this value.

default value is false

See Also:
Constant Field Values

INCLUDE_LAST_PROCESSED

public static final String INCLUDE_LAST_PROCESSED
Include last processed sequence 369 tag in every message for FIX versions>4.2

See Also:
Constant Field Values

FORCED_LOGOFF_TIMEOUT

public static final String FORCED_LOGOFF_TIMEOUT
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.

See Also:
Constant Field Values

LOGIN_WAIT_TIMEOUT

public static final String LOGIN_WAIT_TIMEOUT
Sets the timeout interval after which a connected acceptor session will be timed out and disposed if Logon is not received for this session. default value is 5000

See Also:
Constant Field Values

LOGOUT_WAIT_TIMEOUT

public static final String LOGOUT_WAIT_TIMEOUT
Sets disconnect timeout in seconds for logoff, default value is equal to session's HeartbeatInterval

See Also:
Constant Field Values

IN_MEMORY_QUEUE

public static final String IN_MEMORY_QUEUE
Sets queue mode. 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). This property makes sense only if FilesystemStorageFactory is set.

See Also:
Constant Field Values

MEMORY_MAPPED_QUEUE

public static final String MEMORY_MAPPED_QUEUE
Sets persistent queue mode for MMFStorageFactory. Set to "false" for persistent queue (slower but no messages will be lost), "true" for memory mapped queue (faster but less safe, some messages may be lost)

See Also:
Constant Field Values

INCOMING_STORAGE_INDEXED

public static final String INCOMING_STORAGE_INDEXED
True will enables incoming storage index. Enabled index - messages in incoming storage will be available via API

See Also:
Constant Field Values

OUTGOING_STORAGE_INDEXED

public static final String OUTGOING_STORAGE_INDEXED
Outgoing storage index. This property makes sense only if FilesystemStorageFactory or MMFStorageFactory 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.

See Also:
Constant Field Values

FIXAJ_HOME

public static final String FIXAJ_HOME
Sets path to fixaj home.

See Also:
Constant Field Values

STORAGE_DIRECTORY

public static final String STORAGE_DIRECTORY
Storage directory could be either absolute path (like /tmp/logs or c:\fixengine\logs) or relative path e.g. logs (this one is relative to the application start directory).

See Also:
Constant Field Values

RAW_TAGS

public static final String RAW_TAGS
Raw tags. List all tags here engine should treat as raw. Raw tag may contain SOH symbol inside it and it should be preceided by rawTagLength field.

See Also:
Constant Field Values

VALIDATION

public static final String VALIDATION
Toggle on/off validation of incoming messages according to base of custom dictionaries Following parameters with the Validation suffix works only if this property set to true.

See Also:
Constant Field Values

OUTGOING_LOG_FILE

public static final String OUTGOING_LOG_FILE
Outgoing log filename template. {0} will be replaced with actual sessionID, {1} with actual SenderCompID, {2} with actual TargetCompID and {4} with actual session qualifier.

See Also:
Constant Field Values

BACKUP_OUTGOING_LOG_FILE

public static final String BACKUP_OUTGOING_LOG_FILE
Backup outgoing log filename template. {0} will be replaced with actual sessionID, {1} with SenderCompID, {2} with actual TargetCompID, {3} with timestamp and {4} with actual session qualifier.

See Also:
Constant Field Values

INCOMING_LOG_FILE

public static final String INCOMING_LOG_FILE
Incoming log filename template. {0} will be replaced with actual sessionID, {1} with actual SenderCompID, {2} with actual TargetCompID and {4} with actual session qualifier.

See Also:
Constant Field Values

BACKUP_INCOMING_LOG_FILE

public static final String BACKUP_INCOMING_LOG_FILE
Backup incoming log filename template. {0} will be replaced with actual sessionID, {1} with SenderCompID, {2} with actual TargetCompID, {3} with timestamp and {4} with actual session qualifier.

See Also:
Constant Field Values

SESSION_INFO_FILE

public static final String SESSION_INFO_FILE
Info filename template. {0} will be replaced with actual sessionID, {1} with actual SenderCompID, {2} with actual TargetCompID and {4} with actual session qualifier.

See Also:
Constant Field Values

OUTGOING_QUEUE_FILE

public static final String OUTGOING_QUEUE_FILE
Out queue file template. {0} will be replaced with actual sessionID, {1} with actual SenderCompID, {2} with actual TargetCompID and {4} with actual session qualifier.

See Also:
Constant Field Values

FORCE_SEQ_NUM_RESET

public static final String FORCE_SEQ_NUM_RESET
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:

See Also:
Constant Field Values

LOG_FILES_TIME_ZONE

public static final String LOG_FILES_TIME_ZONE
Time zone for prefix in out/in logs

See Also:
Constant Field Values

TIMESTAMPS_IN_LOGS

public static final String TIMESTAMPS_IN_LOGS
Ability to write timestamps in the in/out log files. Default value true.

See Also:
Constant Field Values

MAX_STORAGE_SLICE_SIZE

public static final String MAX_STORAGE_SLICE_SIZE
Specifies the maximum size of the storage file after which the engine creates a new storage file with a different name. Parameter must be integer and not negative. This property makes sense only if SlicedFileStorageFactory is set.

See Also:
Constant Field Values

MAX_STORAGE_GROW_SIZE

public static final String MAX_STORAGE_GROW_SIZE
Sets the maximum storage grow size in bytes. Parameter must be integer and not negative.

See Also:
Constant Field Values

MMF_STORAGE_GROW_SIZE

public static final String MMF_STORAGE_GROW_SIZE
Sets the storage grow size in bytes for memory mapped implementation. Parameter must be integer and not negative. This property makes sense only if MMFStorageFactory is set.

See Also:
Constant Field Values

MMF_INDEX_GROW_SIZE

public static final String MMF_INDEX_GROW_SIZE
Sets the index grow size in bytes for memory mapped implementation. Used only for storage with memory mapped index file. Parameter must be integer and not negative. This property makes sense only if MMFStorageFactory is set and at least one of incomingStorageIndexed or outgoingStorageIndexed is true.

See Also:
Constant Field Values

STORAGE_GROW_SIZE

public static final String STORAGE_GROW_SIZE
Enable/disable storage grow. Default value: false.

See Also:
Constant Field Values

CONNECT_ADDRESS

public static final String CONNECT_ADDRESS
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.

See Also:
Constant Field Values

MAX_REQUEST_RESEND_IN_BLOCK

public static final String MAX_REQUEST_RESEND_IN_BLOCK
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.

See Also:
Constant Field Values

MAX_DELAY_TO_SEND_AFTER_LOGON

public static final String MAX_DELAY_TO_SEND_AFTER_LOGON
The pause before sending application messages from outgoing queue in milliseconds after receiving Logon. This pause is need to handle possible incoming ResendRequest. In other case a bunch of messages with invalid sequence can be sent. The value must be integer and not less than 0.

See Also:
Constant Field Values

PERFORM_RESET_SEQ_NUM_TIME

public static final String PERFORM_RESET_SEQ_NUM_TIME
This parameter specifies whether to reset sequence number at time defined in resetSequenceTime.

See Also:
Constant Field Values

RESET_SEQUENCE_TIME

public static final String RESET_SEQUENCE_TIME
This parameter specifies GMT time when the FIX Engine initiates the reset of sequence numbers. Valid time format: HH:MM:SS

See Also:
Constant Field Values

RESET_SEQUENCE_TIME_ZONE

public static final String RESET_SEQUENCE_TIME_ZONE
Time zone di for resetSequenceTime property.

See Also:
Constant Field Values

STORAGE_CLEANUP_MODE

public static final String STORAGE_CLEANUP_MODE
This parameter specifies cleaning mode for message storage of closed sessions. Valid values: None | Backup | Delete.

See Also:
Constant Field Values

STORAGE_BACKUP_DIR

public static final String STORAGE_BACKUP_DIR
This parameter specifies back-up directory for message logs of closed sessions when storageCleanupMode=backup. Valid values: existent directory name (relative or absolute path) Default value not defined See FIXAJ_HOME description in the Configuration section of the FIX Antenna Java User and Developer Manual.

See Also:
Constant Field Values

INTRA_DAY_SEQNUM_RESET

public static final String INTRA_DAY_SEQNUM_RESET
This parameter specifies whether to reset sequence number after session is closed. Valid values: true | false

See Also:
Constant Field Values

DES_KEY_PREFIX

public static final String DES_KEY_PREFIX
See Also:
Constant Field Values

PUB_KEY_FILE

public static final String PUB_KEY_FILE
See Also:
Constant Field Values

SEC_KEY_FILE

public static final String SEC_KEY_FILE
See Also:
Constant Field Values

PUB_KEY

public static final String PUB_KEY
See Also:
Constant Field Values

ENCRYPTION_CFG_FILE

public static final String ENCRYPTION_CFG_FILE
This parameter specifies encryption config file name. Valid values: existent valid config file name (relative or absolute path) Default value not defined

See Also:
Constant Field Values

ENCRYPTION_MODE

public static final String ENCRYPTION_MODE
This parameter specifies the default value of encryptionMode. Valid values: None | Des | PgpDesMd5

See Also:
Constant Field Values

ENABLE_LOGGING_OF_INCOMING_MESSAGES

public static final String ENABLE_LOGGING_OF_INCOMING_MESSAGES
See Also:
Constant Field Values

HBT_REASONABLE_TRANSMISSION_TIME

public static final String HBT_REASONABLE_TRANSMISSION_TIME
This parameter specifies "some reasonable transmission time" of FIX specification, measured in milliseconds. Valid values: positive integer Default value: 200

See Also:
Constant Field Values

ORIG_SENDING_TIME_CHECKING

public static final String ORIG_SENDING_TIME_CHECKING
This parameter specifies whether to check the OrigSendingTime(122) field value for incoming possible duplicated messages (PossDupFlag(43) = 'Y'). Valid values: true | false Default value: true

See Also:
Constant Field Values

IGNORE_POSS_DUP_FOR_GAP_FILL

public static final String IGNORE_POSS_DUP_FOR_GAP_FILL
Enable this option if it need to handle SequenceReset-GapFill message without PossDupFlag(43). Also this option allow to ignore absence of OrigSendingTime(122) in such message. Valid values: true | false Default value: false

See Also:
Constant Field Values

TEST_REQUESTS_NUMBER_UPON_DISCONNECTION

public static final String TEST_REQUESTS_NUMBER_UPON_DISCONNECTION
This parameter specifies number of Test Request messages, which will be sent before connection loss is reported when no messages are received from the counterparty. Default value: 1

See Also:
Constant Field Values

ADVANCED_RESEND_REQUEST_PROCESSING

public static final String ADVANCED_RESEND_REQUEST_PROCESSING
This parameter specifies whether to issue subsequently duplicates (PossDupFlag(43) = 'Y') of last Resend Request for continuing gaps resting on LastMsgSeqNumProcessed(369) field values of incoming messages. The counterparty then must respond only to the original request or a subsequent duplicate Resend Request if it missed the original. The duplicate(s), otherwise, can be discarded, as it does not have a unique message sequence number of its own.

See Also:
Constant Field Values

SKIP_DUPLICATED_RESEND_REQUEST

public static final String SKIP_DUPLICATED_RESEND_REQUEST
This parameter specifies whether respond only to the original request or a subsequent duplicate Resend Request if it missed the original. If this option is disabled, FIXAJ will respond to any Resend Request.

See Also:
Constant Field Values

POSS_DUP_SMART_DELIVERY

public static final String POSS_DUP_SMART_DELIVERY
This parameter enables delivery of only those PossDup messages that wasn't received previously. Discarding already processed possDups.

See Also:
Constant Field Values

SERVER_ACCEPTOR_STRATEGY

public static final String SERVER_ACCEPTOR_STRATEGY
This parameter specifies the default Acceptor Strategy. Valid values: subclasses of com.epam.fixengine.acceptor.SessionAcceptorStrategyHandler

See Also:
SessionAcceptorStrategyHandler, AllowNonRegisteredAcceptorStrategyHandler, DenyNonRegisteredAcceptorStrategyHandler, Constant Field Values

USE_JAVA_NIO

public static final String USE_JAVA_NIO
This parameter specifies to use NIO transport or traditional blocking implementation. Valid values: true/false Default value: false

See Also:
Constant Field Values

BLOCKING_NIO_SOCKET

public static final String BLOCKING_NIO_SOCKET
This parameter specifies to use NIO blocking sockets or not. This option will work only if useJavaNIO=true.

Valid values: true/false Default value: true

See Also:
Constant Field Values

SPINNING_NIO_READ

public static final String SPINNING_NIO_READ
This parameter specifies to use spinning read mechanism in NIO transport. This option will work only if useJavaNIO=true.

Valid values: true/false Default value: false

See Also:
Constant Field Values

PREFERRED_SENDING_MODE

public static final String PREFERRED_SENDING_MODE
This parameter specifies the way the session will send most of its messages:
SYNC - session will be optimized to send messages from user thread
ASYNC - session will send all message asynchronously and it will be optimized for this

Valid values: sync/async Default value: sync

See Also:
Constant Field Values

WAIT_FOR_MSG_QUEUING_DELAY

public static final String WAIT_FOR_MSG_QUEUING_DELAY
This parameter specifies the maximum delay interval on message sending if the internal session queue is full. If the internal session's queue is full then FIX Antenna pause the sending thread till the message pumper thread send some messages and free some space in the queue. If after the delay interval queue still full, then message will be pushed to the queue anyway.

Valid values: positive integer Default value: 1000

See Also:
Constant Field Values

IGNORE_SEQ_NUM_TOO_LOW_AT_LOGON

public static final String IGNORE_SEQ_NUM_TOO_LOW_AT_LOGON
This paramter allow to resolve seqNum too low problem at logon. When it true - session continue with received seqNum.

Valid values: true/false Default value: false

See Also:
Constant Field Values
Constructor Detail

Configuration

public Configuration(Properties map)
Create a Configuration based on Map properties.

Parameters:
map - the properties

Configuration

public Configuration(Map map)
Create a Configuration based on Map properties.

Parameters:
map - - properties

Configuration

public Configuration(String prop)
Create a Configuration. Load properties from prop file

Parameters:
prop - the properties file.
Throws:
IllegalArgumentException - if file not exists.
Method Detail

getGlobalConfiguration

public static Configuration getGlobalConfiguration()
Get global configuration. Method returned default configuration loaded on startup.

Returns:
instance of global configuration.

clone

public Object clone()
             throws CloneNotSupportedException
Overrides:
clone in class Object
Throws:
CloneNotSupportedException

setProperty

public void setProperty(String propertyName,
                        String propertyValue)
Setter for properties.

Parameters:
propertyName - the name of property
propertyValue - the value for property

addAllProperties

public void addAllProperties(Map newProps)

setAllProperties

public void setAllProperties(Map newProps)

getProperty

public String getProperty(String propertyName)
Getter for property.

Parameters:
propertyName - the name of property
Returns:
value for property or null if property not exists

getProperty

public String getProperty(String propertyName,
                          boolean nullable)
Getter for property.

Parameters:
propertyName - the name of property
nullable - true - for case when property not exist can return null(nullable=true) or throws exception(nullable=false)
Returns:
value for property or throws runtime exception if property not exists

getProperty

public String getProperty(String propertyName,
                          Configuration.Validator validator,
                          boolean nullable)
Getter for property.

Parameters:
propertyName - the name of property
validator - validate value from user config. For invalid value will be return default value.
nullable - true - for case when property not exist can return null(nullable=true) or throws exception(nullable=false)
Returns:
value for property. If property not exists can return null or throws exception(depends on nullable value)

getProperty

public String getProperty(String propertyName,
                          Configuration.Validator validator,
                          boolean nullable,
                          boolean warnInLog)
Getter for property.

Parameters:
propertyName - the name of property
validator - validate value from user config. For invalid value will be return default value.
nullable - true - for case when property not exist can return null(nullable=true) or throws exception(nullable=false)
warnInLog - write warning to log if value from config is not fit to validator
Returns:
value for property. If property not exists can return null or throws exception(depends on nullable value)

getProperty

public String getProperty(String propertyName,
                          String defaultValue)
Getter for property.

Parameters:
propertyName - the name of property
defaultValue - the default value for property
Returns:
value for property or defaultValue if property not exists

getPropertyAsBoolean

public boolean getPropertyAsBoolean(String propertyName,
                                    boolean defaultValue)
Get property value as boolean.

Parameters:
propertyName - the name of property
defaultValue - the default value for property
Returns:
value for property or defaultValue if property not exists

getPropertyAsBoolean

public boolean getPropertyAsBoolean(String propertyName)
Get property value as boolean.

Parameters:
propertyName - the name of property
Returns:
value for property or false if property not exists

getPropertyAsInt

public int getPropertyAsInt(String propertyName,
                            int defaultValue)
Get property value as int.

Parameters:
propertyName - the name of property
defaultValue - the default value for property
Returns:
value for property or defaultValue if property not exists

getPropertyAsInt

public int getPropertyAsInt(String propertyName,
                            int min,
                            int max)
                     throws NumberFormatException
Get property value as int. If value is nit rage than return default value or throws exception(if default value is not rage too)

Parameters:
propertyName - the name of property
min - the minimal value. Value >= min
max - the maximal value. max >= Value
Returns:
value for property or defaultValue if property not exists or in rage
Throws:
NumberFormatException

getPropertyAsInt

public int getPropertyAsInt(String propertyName,
                            int min,
                            int max,
                            boolean warnToLog)
                     throws NumberFormatException
Get property value as int. If value is nit rage than return default value or throws exception(if default value is not rage too)

Parameters:
propertyName - the name of property
min - the minimal value. Value >= min
max - the maximal value. max >= Value
warnToLog - write warning to log if value from user config is not in rage
Returns:
value for property or defaultValue if property not exists or in rage
Throws:
NumberFormatException

getPropertyAsInt

public int getPropertyAsInt(String propertyName)
Get property value as int.

Parameters:
propertyName - the name of property
Returns:
value for property or -1 if property not exists

getPropertyAsLong

public long getPropertyAsLong(String propertyName,
                              long defaultValue)
Get property value as long.

Parameters:
propertyName - the name of property
defaultValue - the default value for property
Returns:
value for property or defaultValue if property not exists

getPropertyAsLong

public long getPropertyAsLong(String propertyName)
Get property value as long.

Parameters:
propertyName - the name of property
Returns:
value for property or -1 if property not exists

getPropertyAsBytesLength

public int getPropertyAsBytesLength(String propertyName)
Get property value as bytes length. Example:
1=1
1b=1
1Kb=1024
1Mb=1048576
1Gb=1073741824

Parameters:
propertyName - the name of property
Returns:
value for property or -1 if property not exists

getPropertyAsBytesLength

public int getPropertyAsBytesLength(String propertyName,
                                    int defaultValue)
Get property value as bytes length. Example:
1=1
1b=1
1Kb=1024
1Mb=1048576
1Gb=1073741824

Parameters:
propertyName - the name of property
defaultValue - the default value for property
Returns:
value for property or defaultValue if property not exists

getProperties

public Properties getProperties()
Get all properties.

Returns:
returned value is cloned.

printConfiguration

public void printConfiguration()
Prints configuration to log.


equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright © 2000-2014 EPAM Systems. All Rights Reserved.