Postponed FIXEdge initialization (Hot/Warm activation modes)

Postponed FIXEdge initialization (Hot/Warm activation modes)

This feature is available starting FIXEdge version 7.1.0

Hot/Warm activation mode is a FIXEdge runtime mode that allows to postpone FIXEdge initialization of the Core Services:

  • FIX Engine (Antenna)

  • Schedules

  • Business layer including BL handlers

  • Transport Adapters

Other FIXEdge components like Admin REST API server, H2 configuration service are initialized as usual and can be utilized to switch between modes.

Upon switching to Hot mode, the following actions are taken by FIXEdge:

  1. FIX Engine (Antenna) session configuration is read from the properties file(s), configuration service (for example H2) and applied. Application of the configuration ends up in creating/starting/scheduling of the FIX Sessions.

  2. Starting FIX Sessions schedules. 

  3. Loading of Business Rules, Business Rules handlers. 

  4. Loading of the Transport Adapters as configured.

FIXEdge may start in the following activation modes:

  • Hot - the usual activation mode, FIXEdge starts and proceeds with initialization, starting FIX sessions, handlers, TAs.

  • Warm - FIXEdge starts, initializes everything except for the Core Services. Admin REST API and configuration services are started, but it is not possible to create/connect any sessions, start TAs, apply Business Rules.

  • TryLock - On startup FIXEdge tries to lock a file. If lock is obtained, FIXEdge switches itself into a Hot mode (proceeds with initialization of the Core Services). Otherwise, FIXEdge stays in the Warm mode until the lock is obtained. 

  • TryHearbeat - On startup FIXEdge tries to lock a file. If lock is obtained, FIXEdge reads a timestamp of the last heartbeat, written to the file by another instance. If the heartbeat timestamp is older than the configured delay, FIXEdge resides in Warm mode until instructed to become Hot. Otherwise, FIXEdge activates in Hot mode. If the last heartbeat timestamp is absent or cannot be parsed, FIXEdge resides in the Warm mode.

Admin REST API provides two URLs for monitoring and controlling of the activation mode:

  • GET /service/activationmode - replies with the current activation mode status and mode name. For example: 

    {"mode":"Hot","name":"TryLock"}
  • PUT /service/activationmode/hot - executing an empty PUT request to this URL will override the current mode with Hot.

For configuration details please see, Configuring other FIXEdge properties | ConfiguringotherFIXEdgeproperties PostponedFIXEdgeinitialization(Hot/Warmactiva...