Versions Compared

Key

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

Table of Contents

Introduction

FIXEdge can be installed using RPM packages on Red Hat Enterprise Linux 7 and newer and binary compatible distributions. RPM package features support for controlling FIXEdge via systemd and running under a constrained user account.

Installing FIXEdge

  1. Add the repository file
Code Block
languagebash
sudo tee -a /etc/yum.repos.d/fixedge.repo << EOF 
[fixedge]
name=fixedge
baseurl=https://USERNAME:PASSWORD@packages.b2bits.com/fixedge
skip_if_unavailable=true
deltarpm=0
sslverify=false
gpgcheck=0
EOF

...

Installation is completed.

Running FIXEdge Service

The package provides the systemd units to control the FIXEdge and FIXICC Agent services.

...

Code Block
[max@localhost ~]$ systemctl status fixedge
● fixedge.service - FIXEdge - smart FIX message router
   Loaded: loaded (/usr/lib/systemd/system/fixedge.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/fixedge.service.d
           └─override.conf
   Active: inactive (dead)

Dec 13 07:54:19 localhost.localdomain bash[588972]: SLF4J: Class path contains multiple SLF4J bindings.
Dec 13 07:54:19 localhost.localdomain bash[588972]: SLF4J: Found binding in [jar:file:/usr/lib64/fixedge/6.11.6/jms-ta/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Dec 13 07:54:19 localhost.localdomain bash[588972]: SLF4J: Found binding in [jar:file:/opt/apache-activemq/activemq-all-5.16.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Dec 13 07:54:19 localhost.localdomain bash[588972]: SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
Dec 13 07:54:19 localhost.localdomain bash[588972]: SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Dec 13 08:43:14 localhost.localdomain systemd[1]: Stopping FIXEdge - smart FIX message router...
Dec 13 08:43:15 localhost.localdomain bash[588972]: The signal waiter has been started.
Dec 13 08:43:15 localhost.localdomain bash[588972]: The signal 15 was detected.
Dec 13 08:43:15 localhost.localdomain systemd[1]: fixedge.service: Succeeded.
Dec 13 08:43:15 localhost.localdomain systemd[1]: Stopped FIXEdge - smart FIX message router.
[max@localhost ~]$ systemctl start fixedge
[max@localhost ~]$ systemctl status fixedge
● fixedge.service - FIXEdge - smart FIX message router
   Loaded: loaded (/usr/lib/systemd/system/fixedge.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/fixedge.service.d
           └─override.conf
   Active: active (running) since Wed 2021-12-15 04:30:02 EST; 1s ago
 Main PID: 916904 (FIXEdge)
    Tasks: 23 (limit: 48835)
   Memory: 62.5M
   CGroup: /system.slice/fixedge.service
           └─916904 /usr/lib64/fixedge/6.11.6/FIXEdge /etc/fixedge/FIXEdge.properties

Dec 15 04:30:02 localhost.localdomain systemd[1]: Started FIXEdge - smart FIX message router.
Dec 15 04:30:02 localhost.localdomain bash[916904]: FIXEdge 6.11.6.r463 (engine 2.28.0.r463)
[max@localhost ~]$ systemctl stop fixedge
[max@localhost ~]$ systemctl status fixedge
● fixedge.service - FIXEdge - smart FIX message router
   Loaded: loaded (/usr/lib/systemd/system/fixedge.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/fixedge.service.d
           └─override.conf
   Active: inactive (dead)

Dec 15 04:30:05 localhost.localdomain bash[916904]: SLF4J: Class path contains multiple SLF4J bindings.
Dec 15 04:30:05 localhost.localdomain bash[916904]: SLF4J: Found binding in [jar:file:/usr/lib64/fixedge/6.11.6/jms-ta/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Dec 15 04:30:05 localhost.localdomain bash[916904]: SLF4J: Found binding in [jar:file:/opt/apache-activemq/activemq-all-5.16.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Dec 15 04:30:05 localhost.localdomain bash[916904]: SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
Dec 15 04:30:05 localhost.localdomain bash[916904]: SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Dec 15 04:30:14 localhost.localdomain systemd[1]: Stopping FIXEdge - smart FIX message router...
Dec 15 04:30:16 localhost.localdomain bash[916904]: The signal waiter has been started.
Dec 15 04:30:16 localhost.localdomain bash[916904]: The signal 15 was detected.
Dec 15 04:30:16 localhost.localdomain systemd[1]: fixedge.service: Succeeded.
Dec 15 04:30:16 localhost.localdomain systemd[1]: Stopped FIXEdge - smart FIX message router.


Upgrading FIXedge

If there is a newer version of the package in the repository, you can update using the following command:

...

Code Block
languagebash
$ rpm -qi fixedge | egrep '(Version|Release)'
Version     : 6.11.3
Release     : 441.el7
$ yum provides fixedge | grep 450
fixedge-6.11.4-450.el7.x86_64 : FIXEdge - smart FIX message router
$ sudo yum update fixedge-6.11.4-450.el7.x86_64

Downgrading FIXedge

You can also downgrade the package as needed by using the following command:

...

To find out which version you can downgrade a package to, use the yum provides command as described in the "Installing FIXEdge C++ section".

Removing FIXedge

To remove a package, you need the following:

Code Block
languagebash
sudo yum -y remove fixedge fixicc-agent

Migration from a tar.gz package to RPM

To migrate an existing installation from a tar.gz package to RPM need to:

  1. Copy FIXEdge configuration to /etc/fixedge
  2. Copy FIXEdge data to /var/lib/fixedge

  3. Change storage directories in engine.properties and FIXEdge.properties to /var/lib/fixedge
  4. Change references to TA shared libraries in FIXEdge.properties

...