Not mandatory but recommended.
and replacement is "biz.onixs.fix.engine.Session#isLogInboundMessages".
The reference ticket(s): JAVA-948.
This migration is mandatory.
The reference ticket(s): JAVA-954.
This migration is mandatory.
The reference ticket(s): JAVA-945.
This migration to onixs-utils 1.0.43 is mandatory.
The reference ticket(s): JAVA-940.
Not mandatory but recommended.
The reference ticket(s): JAVA-935.
The FileBasedStorageRepository methods
are removed and replacement is
The EngineSettings constants and methods
are removed and replacement is
The configuration file settings
are removed and replacement is "AsyncFileStorage.QueueSize".
Not mandatory but recommended migration to Logback 1.1.2.
The reference ticket(s): JAVA-921.
Not mandatory but recommended upgrade to "HdrHistogram-1.0.9.jar".
The reference ticket(s): JAVA-922.
The replacement is biz.onixs.fix.scheduler.SessionScheduler#registerAcceptor(Session, SessionSchedule).
The reference ticket(s): JAVA-890.
Link to the new schema is scheduler-settings-1.6.xsd.
The reference ticket(s): JAVA-810.
The FileBasedStorageRepository methods
are deprecated and replacement is
The EngineSettings constants and methods
are deprecated and replacement is
The configuration file settings
are deprecated and replacement is "AsyncFileStorage.QueueSize".
The reference ticket(s): JAVA-849.
This migration to onixs-utils 1.0.42 is mandatory.
The reference ticket(s): JAVA-869.
to "biz.onixs.util.Converter". Also its location is changed from "onixs-fix-engine-x.jar" to "onixs-utils-x.jar".
The reference ticket(s): JAVA-852.
to "biz.onixs.util.ValuePtr". Also its location is changed from "onixs-fix-engine-x.jar" to "onixs-utils-x.jar".
The reference ticket(s): JAVA-853.
This migration to onixs-utils 1.0.41 is mandatory.
The reference ticket(s): JAVA-863.
Not mandatory but recommended migration to Logback 1.1.0.
The reference ticket(s): JAVA-856.
Not mandatory but recommended migration to SLF4J 1.7.6.
The reference ticket(s): JAVA-859.
The reference ticket(s): JAVA-821.
To avoid session storage reading errors please remove old format files before starting the engine.
is moved to "biz.onixs.fix.scheduler.ErrorListener.ErrorArgs" and has the following methods renamed:
as well as the respective API methods:
Instead the "Session.ResendRequestLogic" parameter with the "STANDARD_FIX_RESTRAINED" value should be used. It can be configured with the newly added methods:
The reference ticket(s): JAVA-784.
from "false" to "true".
from the "biz.onixs.fix.parser.exception" to the "biz.onixs.fix.parser" package.
The reference ticket(s): JAVA-761.
// from biz.onixs.fix.parser.Version // to biz.onixs.fix.dictionary.Version
The reference ticket(s): JAVA-676.
The deprecated biz.onixs.fix.parser.Message methods are removed:
The reference tickets are: JAVA-551.
The following biz.onixs.fix.parser.Message methods are deprecated and their replacements introduced:
Deprecated | Replacement |
---|---|
Message(String, Version) | create(String, Version) |
Message(String, Version, boolean) | create(String, Version, boolean) |
Message(String, Version, boolean, boolean) | create(String, Version, boolean, boolean) |
init(String, Version) | init(Version, String) |
The deprecated methods are removed:
As a replacement the following methods are added:
The deprecated members are removed and replaced respectively
biz.onixs.fix.engine.Session.setStateChangeListener // with biz.onixs.fix.engine.Session.addStateChangeListener biz.onixs.fix.engine.Session.findSentMessage // with biz.onixs.fix.engine.Session.getStorage
The deprecated members are removed
biz.onixs.fix.engine.Session.getStateChangeListener biz.onixs.fix.engine.Session.NULL_STATE_CHANGE_LISTENER
The deprecated member is removed and replaced respectively
biz.onixs.fix.engine.Engine.setThreadStartedListener // with biz.onixs.fix.engine.Engine.addThreadStartedListener
The deprecated member is removed
biz.onixs.fix.engine.Engine.getThreadStartedListener
The reference tickets are: JAVA-513.
The following class
biz.onixs.fix.engine.ssl.SSLContextFactory
is moved/renamed to
biz.onixs.fix.engine.SslContextFactory
The FIX dialect schema is changed its location from
https://onixs.biz/fix/dialects/dialects-2_9.xsd
to
https://ref.onixs.biz/fix/dialects/dialects-2_9.xsd
Old dialect document element:
<Dialect xmlns="https://onixs.biz/fix/dialects" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://onixs.biz/fix/dialects https://onixs.biz/fix/dialects/dialects-2_9.xsd">
New dialect document element:
<Dialect xmlns="https://ref.onixs.biz/fix/dialects" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://ref.onixs.biz/fix/dialects https://ref.onixs.biz/fix/dialects/dialects-2_9.xsd">
The same is true for schema versions 2.2 - 2.8.
The session scheduler configuration schema is changed its location from
https://onixs.biz/fix/scheduler/scheduler-settings-1.4.xsd
to
https://ref.onixs.biz/fix/scheduler/scheduler-settings-1.4.xsd
Old configuration document element:
<SchedulerSettings xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://onixs.biz/fix/scheduler https://onixs.biz/fix/scheduler/scheduler-settings-1.4.xsd" xmlns="https://onixs.biz/fix/scheduler">
New configuration document element:
<SchedulerSettings xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://ref.onixs.biz/fix/scheduler https://ref.onixs.biz/fix/scheduler/scheduler-settings-1.4.xsd" xmlns="https://ref.onixs.biz/fix/scheduler">
The same is true for schema versions 1.0 - 1.3.
The session scheduler java package name is changed to
biz.onixs.fix.scheduler
from
biz.onixs.fix.engine.scheduler
The session scheduler code is extracted to the separate jar
onixs-fix-scheduler-x.x.x.jar
from the main engine jar
onixs-fix-engine-x.x.x.jar
The custom logging implementation used in the FIX engine is replaced completely with the SLF4J. Any external logging facility needs to be configured separately.
For more information see Logging section of the programming guide.
The following method is static now:
biz.onixs.fix.engine.Engine.getStorageRepositoryManager
The main goal of the changes is to provide access to the incoming messages.
The reference ticket is JAVA-383.
The following changes are made to the interface:
biz.onixs.fix.engine.storage.StorageRepository
The method
biz.onixs.fix.engine.storage.StorageRepository.create(String senderCompId, String targetCompId, Version fixVersion, String token, boolean cleanStart)
is replaced with the
biz.onixs.fix.engine.storage.StorageRepository.create(SessionId sessionId, boolean cleanStart)
The interface
biz.onixs.fix.engine.storage.SessionStorage
is modified:
Message getOutboundMessage(long sequenceNumber) // is replaced with the Message getMessage(MessageDirection direction, long sequenceNumber) // where direction = MessageDirection.OUT List<Message> getOutboundMessages(long beginSequenceNumber, long endSequenceNumber) // is replaced with the List<Message> getMessages(MessageDirection direction, long beginSequenceNumber, long endSequenceNumber) // where direction = MessageDirection.OUT void storeInbound(Message message, ByteBuffer rawMessage) // is replaced with the void storeMessage(MessageDirection direction, Message message, ByteBuffer rawMessage) // where direction = MessageDirection.IN void storeInbound(long msgSeqNum, ByteBuffer rawMessage) // is replaced with the void storeMessage(MessageDirection direction, long msgSeqNum, ByteBuffer rawMessage) // where direction = MessageDirection.IN void storeOutbound(Message message, ByteBuffer rawMessage) // is replaced with the void storeMessage(MessageDirection direction, Message message, ByteBuffer rawMessage) // where direction = MessageDirection.OUT
The following session state
biz.onixs.fix.engine.SessionState#WAIT_FOR_REPLY_ON_RESEND_REQUEST
is renamed to the
biz.onixs.fix.engine.SessionState#WAIT_FOR_RETRANSMISSION
This feature is not available on a per-session basis anymore and the following methods are removed:
biz.onixs.fix.engine.Session#isScramblePassword biz.onixs.fix.engine.Session#setScramblePassword
Please use the file-based storage repository property instead:
final StorageRepository fileBasedStorageRepository = engine.getStorageRepositoryManager().get(SessionStorageType.FileBasedStorage); ((FileBasedStorageRepository) fileBasedStorageRepository).setScramblePassword(true);
The reference ticket is JAVA-351.
The following methods are removed:
biz.onixs.fix.engine.storage.StorageRepository#isScramblePassword biz.onixs.fix.engine.storage.StorageRepository#setScramblePassword biz.onixs.fix.engine.storage.SessionStorage#isScramblePassword biz.onixs.fix.engine.storage.SessionStorage#setScramblePassword
The following methods are added:
biz.onixs.fix.engine.storage.SessionStorage#open
The new name of this section in the programming guide is Accepting FIX Session Without a Prior Creation of Session Object. Please read it through.
The event listener and arguments classes are renamed from
biz.onixs.fix.engine.Engine.UnknownIncomingConnectionEventListener biz.onixs.fix.engine.Engine.UnknownIncomingConnectionEventArgs
to
biz.onixs.fix.engine.Engine.DynamicAcceptorListener biz.onixs.fix.engine.Engine.DynamicAcceptorArgs
Now it's user's responsibility to create Session object if the connection has to be accepted. And the created Session object is passed to the event arguments instead of the boolean flag.
The reference ticket is JAVA-352.
The file-based session storage format is changed. Old session storage files can't be used with the new library. The reference ticket is JAVA-321.
It is recommended to migrate to the 3rd party library with the version 1.5.6. The reference ticket is JAVA-335.