FEJ uses Spring Security for authentication purposes. Security configuration is stored in
By default, FEJ container uses simple in-memory authentication.
Users are stored in the external properties file named
users.properties. It contains single user
test with password
test and role
FEJ also supports authentication against an LDAP server.
Before getting deep into LDAP authentication, let’s get familiar with some LDAP terms.
Distinguished name, a unique name which is used to find user in LDAP server e.g. Microsoft Active Directory.
LDAP Bind is an operation in which LDAP clients sends bindRequest to LDAP user including username and password and if
LDAP search is the operation which is performed to retrieve Dn of user by using some user credentials.
LDAP directory’s top element, like root of a tree.
a branch in LDAP tree which can be used as base for LDAP search operation.
When the LDAP authentication option is activated, the default single user mode is turned off.
FIX Session configuration
FIX Antenna java is used for establishing and managing FIX sessions. But FEJ introduce per-file base configuration for each FIX session. All such configuration files are placed into subdirectories of
session directory and should follow
s_fix_[SESSION_ID].properties mask (this behaviour can be changed with 'sessionConfigManager' bean into
fej-server.xml). Additional each subfolder may have
SESSION_GROUP_s_fixDefault.properties configuration file which define common option for all group of FIX sessions.
Main options for FIX session(advanced options for FIX session you can find on FIX Antenna Java configuration page):
|Property name||Default value||Description|
Session type. If type is not defined then session will be resolved as acceptor. Valid values: acceptor/initiator.
The connecting host for initiator session
The connecting port for initiator session
Assigned value used to identify firm sending message
Assigned value used to identify specific message originator (desk, trader, etc.)
Assigned value used to identify specific message originator’s location (i.e. geographic location and/or desk, trader)
Assigned value used to identify receiving firm
Assigned value used to identify specific individual or unit intended to receive message
Assigned value used to identify specific message destination’s location (i.e. geographic location and/or desk, trader)
Version of the FIX protocol
Backup host for initiator session
Backup port for initiator session
Incoming sequence number
Outgoing sequence number
Last valid incoming sequence number
Heartbeat interval (in seconds)
User defined fields for messages. If this list is not empty, Engine add it to each outgoing message.
Additional fields for outgoing Logon message
Comma-separated list of routing groups
The assigned value used to identify a username to send in Logon message for initiator session and username to validate
with user name from Logon request for acceptor session. The session will be accepted if the username is not defined.
|password||The assigned value used to identify a password to send in Logon message for initiator session and password to validate|
with password from logon request for acceptor session. The session will be accepted if the password is not defined
Routing Rules Configuration
FIX Edge Java provides an
RoutingRule unit as an abstraction for internal message routing element. FEJ supports pure Java and Groovy implementations for routing rules. Please find additional information in the article FIXEdge Java - Groovy rules
FEJ uses Log4j 2 as a logging framework. Its configuration is stored in
log4j2.xml file. For more information about configuration please refer Log4j 2 official documentation.
Administrative shell configuration
Shell configuration properties are stored in
SSH server port
Authentication timeout of the SSH server (in milliseconds)
Idle timeout of the SSH server (in milliseconds)
FEJ uses Java shell called ‘CRaSH’. For more information about it configuration properties please refer to the CRaSH reference documentation.
FEJ uses YAJSW to run the application as a Windows Service or UNIX Daemon. It configuration is stored in
wrapper.conf file. Please refer to the YAJSW reference documentation for more information about available configuration properties.