Page tree

Versions Compared

Key

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

...

  • There is no ability to disable the BouncyCastle security provider.
    • Problem description: The BouncyCastle security provider is used by Administrative Remote Shell CLI by default. There was no possibility to disable this security provider (if a user wanted to use their own).
    • Solution: The option org.apache.sshd.registerBouncyCastle was fixed for disabling the registration of the BouncyCastle security provider.
  • Remote Shell Command "server opts" prints invalid information about opened FIX ports.
    • Problem description"server opts" command output was corrupted.
    • Solution: The command output was fixed to print a list of opened ports.
  • JMS Producer doesn't reconnect automatically.
    • Problem description: JMS  JMS Producer stopped reconnecting when an exceptional connection break occurred.
    • Solution: The reconnect logic was fixed.
  • Race conditions in JMS Producer after reconnect.
    • Problem description: JMS Producer did the reconnect procedure in two separate threads and started two sending threads at the same time.
    • Solution: The reconnect logic was fixed.
  • Incorrect value for the QueueMaxFileSize property for JMS clients.
  • The JMS Producer loses messages during reconnect.
    • Problem description: The JMS Producer was occasionally losing messages when it wasn't able to convert them to a JMS Message object.
    • Solution: The error handling logic was fixed.
  • The JMS Producer started but is not operable if its queue file is corrupted.
    • Problem description: The JMS Producer ignored problems with JMS queue initialization (queue file was corrupted). This led to the continuous problem with sending data by that Producer as data couldn't be added to the queue.
    • Solution: The JMS Producer fails to start if it has problems with its initialization.

...

  • Freezing of FEJ REST Admin API.
    • Problem description: FEJ REST Admin API could be frozen after subscription to the session list events.
    • Solution: The problem was gone after replacing the Jersey/Netty REST service with an embedded Jetty server implementation.
  • FEJ doesn't reconnect the JMS endpoint.
    • Problem description: FEJ doesn't try to reconnect the JMS JMS endpoint if the connection to the JMS broker is broken.
    • Solution: The reconnect logic of the JMS Producer endpoint was fixed.

FIXEdge/J 1.8.1

...

New Features and Improvements

  • Load/reload FIX sessions via administrative interfaces
    • Remote Shell CLI and JMX API support a new operation on adding a new FIX session in runtime or update its configuration from configuration files.
  • Log details about incoming SSL connection
    • FIXEdge Java logs information about negotiated cipher suite, SSL/TLS version, and used SSL certificate for incoming secure FIX connections.
  • Inject Message converters for a JMS endpoint as Spring beans
    • JMS endpoint can resolve a message converter from Spring configuration by its ID.
  • Start FIX Edge server without listening FIX ports
  • Custom Keystore format for Administrative Remote Shell CLI

Bugs and fixes

  • Message lost in JMS endpoint
    • Problem description: One message is lost in case of a network interrupts between a broker and the JMS endpoint. The outgoing message wasn't returned to the queue inside the JMS endpoint due to a concurrency issue in this case.
    • Solution: The queue implementation was fixed.
  • An A FIX acceptor session in the DISCONNECTED state could not be started or stopped.
    • Problem description: If an acceptor session had been connected first and then a counterparty broke the connection, the acceptor got the DISCONNECTED state. Anyway, it wasn't possible to start or stop such a session via administrative APIs.
    • Solution: Disconnected but not stopped acceptor session gets the WAITING_FOR_CONNECTION state now. Such an acceptor session can be stopped, it gets the DISCONNECTED state and stops accepting new incoming connections.
  • An A FIX acceptor session in the WAITING_FOR_CONNECTION state could not be reloaded.
    • Problem description: An acceptor session in the WAITING_FOR_CONNECTION state could not be reloaded via administrative APIs due to a logical error.
    • Solution: Implementation of a command for session reload was fixed.
  • Messages lost after reloading an SnF session.
    • Problem description:  Messages from the SnF queue were not delivered after the FIX session reload. The problem was related to the SnF queue initialization and warm-up. 
    • Solution: The warm-up functionality for the SnF queue was temporarily disabled.
  • The same JMS endpoint can be started multiple times.
    • Problem description: Administrative APIs incorrectly validated an endpoint state.
    • Solution: The state validation was fixed.
  • JMS endpoint could not be stopped if automatic reconnect is enabled.
    • Problem description: Auto-reconnect functionality for the JMS endpoint didn't count an endpoint state.
    • Solution: Auto-reconnect functionality for the JMS endpoint was fixed.

FIXEdge/J 1.8.0

...

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 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 newnew acceptedSslServerProtocols 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 Remote Shell CLI 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 Remote Shell CLI 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.

...