toc
Table of Contents |
---|
FIXEdge/J 1.8.2
Jul 2, 2021
New Features and Improvements
- Optional JMX disabling
- JMX is used for monitoring and management of FEJ services. It can be switched on or off via the jmx.enable option in the fixedge.properties file.
Bugs and fixes
- 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 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
May 26, 2021
...
- 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.
- Non-FIX endpoints (JMS, Kafka, and another) will be started with FEJ server initialization automatically. The automatic endpoint start might be changed via the
- 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 Endpoint configuration.
- 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.
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 new
acceptedSslServerProtocols
option is added to restrict a connection via a specific SSL protocol.
- Problem description: The configuration property
- 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 description: FEJ 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.
...