Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

  • Automatic Start of endpoints
    • Non-FIX endpoints (JMS, Kafka, and another) will be started with FEJ server initialization automatically. The automatic endpoint start might be changed via the startOnload property.
  • Schedule endpoints start/stop within their configuration files
    • There is no need any more to define the schedule via the schdule.xml file. It can be done within the endpoint configuration. See more (TODO: add a link to FIX properties). 
  • The default configuration for groups of FIX sessions
    • Configuration of FIX sessions may be grouped with folders and each folder may have a separate default configuration, common for all included sessions.
  • Password obfuscation in FIX storages and application logs
    • Secret information is masked inside persisted FIX sessions data.
  • The single authentication mechanism for all administrative interfaces
    • All users for different administrative interfaces are defined within the admin-users.properties file. Access to a specific interface is defined by a user role.
  • RPM and DEB packages
  • FEJ system configuration files are moved to a separate folder.
    • System configuration files were moved into a separate folder (sysconf) for further easier FEJ server maintenance and upgrade. User-related configs (security, endpoint, routing configuration) remained in the conf directory.
  • Encrypted keys for Remote Shell configuration
    • Remote Shell uses a private key for establishing connections. Private keys may be represented via protected keystores.
  • Configuration values from environment variables
    • Secure passwords and other important configuration values may be defined as environment variables and then used within FEJ configuration. See more (TODO: link to a description of FIX session configuration).

Bugs and fixes

  • SSL acceptor session with a defined acceptor port couldn't be started.
    • Problem description: The SSL FIX server instance wasn't defined and started during FEJ server initialization and thereby SSL acceptors can be connected as no opened SSL ports.
    • Solution: The SSL FIX server instance is initialized during FEJ server start.
  • SSL Acceptor couldn't restrict connection by a specific version of SSL protocol.
    • Problem description: The configuration property sslProtocol works differently for an acceptor session. It defines a family of allowed SSL protocols for an acceptor.
    • Solution: A newacceptedSslServerProtocols option is added to restrict a connection via a specific SSL protocol.
  • Session storage type is spontaneously changed after reloading a FIX session via FIXICC UI.
    • Problem description: All FIX acceptors held the link to the same instance of the configuration object and any change of such configuration affected all acceptors sessions.
    • Solution: The acceptor session receives a clone of a configuration object during its initialization.
  • FEJ didn't log an error in case of failed FIX session authorization.
    • Problem description: FEJ does not log a validation error if the FIX session connects with invalid credentials or without them.
    • Solution: Logging of such a type of error was added.
  • FEJ incorrectly interpreted empty username/password properties.
    • Problem descriptionFEJ expected the Logon(A) message with empty Username(553) and Password(554) tags in case of username/password properties are configured without values.
    • Solution: FEJ ignores username/password properties if they are empty.
  • An acceptor session sent incoming username/password back.
    • Problem description: An acceptor session sent an incoming username/password back, but it just had to match them with the configured ones.
    • Solution: The acceptor session validates an incoming username/password and doesn't send them back in the Logon(A) answer.
  • Sequence reset for FIX session via RemoteShell didn't work.
    • Problem description: The "session reset <session_id>" command returned an error message and didn't reset FIX session sequences.
    • Solution: The RemoteShell command is fixed.
  • Invalid SSL parameters of the particular FIX session locked the entire FEJ initialization.
    • Problem description: An error during starting of a FIX session with invalid SSL parameters (invalid path to key/trustStore, invalid passwords, invalid stores types, etc.) broke the scheduler thread and it failed to start the rest sessions.
    • Solution: Errors during a session start are isolated.
  • FEJ server couldn't be started from a folder that has a space in its name.
    • Problem description: Paths in the start script wasn't properly quoted.
    • Solution: The FEJ server start script is fixed.

...

  • Kafka Endpoint can't publish/consume messages in a custom format. 
    • Problem description:  serializer/deserializer classes were hardcoded to work with FIX messages in key-value string format. 
    • Solution: Hardcode was removed and new interfaces for serialization/deserialization of MessageEvent instance into custom format were provided.
  • The scheduler doesn't start the session in the middle of the day.
    • Problem description:  FIX session does not start if FEJ server has started after its start time but before its stop time.
    • Solution: The scheduler logic was fixed and now it can start FIX sessions if the FEJ is started during their working hours.

...