| 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
- Add the repository file
| Code Block | ||
|---|---|---|
| ||
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 | ||
|---|---|---|
| ||
$ 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 | ||
|---|---|---|
| ||
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:
- Copy FIXEdge configuration to
/etc/fixedge Copy FIXEdge data to
/var/lib/fixedge- Change storage directories in
engine.propertiesandFIXEdge.propertiesto/var/lib/fixedge - Change references to TA shared libraries in
FIXEdge.properties
...