b2bitsepam/fixedge-java

By b2bitsepam

Updated 7 months ago

The official image of FIX server FIXEdge Java by B2BITS®, EPAM's Capital Markets Competency Center.

Image
Integration & delivery
Message queues
0

1.2K

b2bitsepam/fixedge-java repository overview

Table of contents

What is FIXEdge Java?

FIXEdge® Java (FEJ) is a Java implementation of an application server by B2BITS®, EPAM's Capital Markets Competency Center, providing FIX connectivity to buy and sell side institutions, exchanges and clearing houses.

It supports all workflows for all asset classes defined in the FIX protocol.

Client applications communicate with FIXEdge via one of multiple supported message protocols (e.g. JMS, Kafka, WebSockets) employing transport adaptors.

It is designed to be easy to install, configure, administer and monitor sessions and trading information flows. It is written in Java and has a performance profile suitable for the needs of all clients up to and including large sell-side institutions and large volume traders.

FIXEdge adheres to the best information security practices defined in FIX security recommendations.

About this image

This image contains standalone FIXEdge® Java application server.

Administration and monitoring utilities, such as FIX Integrated Control Center H2 (FIXICC H2®) and FIXEye, are distributed separately.

Getting this image

The recommended way to get the FIXEdge Docker Image is to pull the prebuilt image from the Docker Hub Registry.

$ docker pull b2bitsepam/fixedge-java

To use a specific version, you can pull a versioned tag. You can view the list of available versions in the Docker Hub Registry.

$ docker pull b2bitsepam/fixedge-java:[TAG]

Using FIXEdge Java image

Getting a license

To run FIXEdge you will need a valid license file. You can obtain a trial license from [email protected].

Quickstart in standalone mode

This image is self-contained and does not require external configuration sources.

A default configuration allows FIXEdge to accept FIX sessions with parameters:

SenderCompID = TestCompID1
TargetCompID = FIXEdgeJCompID
FIX Protocol Version = FIX 4.4 
Listen Port 8911
SenderCompID = TestCompID2
TargetCompID = FIXEdgeJCompID
FIX Protocol Version = FIX 4.4 
Listen Port 8911

Assuming you have obtained a license and saved them to current folder, you can get it running in a few ways.

Using the Command Line
$ docker run \
 --name fixedgej \
 -v $(pwd)/fixaj2-license.bin:/etc/fixedge-java/fixaj2-license.bin \
 -v $(pwd)/fixedgej-license.bin:/etc/fixedge-java/fixedgej-license.bin \
 -p 8911:8911 \
 b2bitsepam/fixedge-java

Using Docker Compose

Use this template for docker-compose.yaml:

version: '3'

services:
  fixedgej:
    image: b2bitsepam/fixedge-java:latest
    ports:
      - 8911:8911
    volumes:
      - './fixaj2-license.bin:/etc/fixedge-java/fixaj2-license.bin'
      - './fixedgej-license.bin:/etc/fixedge-java/fixedgej-license.bin'

Then run docker-compose up -d.

Configure

In standalone mode FIXEdge consumes all configuration from filesystem. A custom configuration can be mounted to /etc/fixedge-java folder.

Step 1: Initialize your configuration folder with copy of default configs
$ docker run --rm -v $(pwd)/conf:/tmp/conf b2bitsepam/fixedge-java sh -c 'cp -r /etc/fixedge-java/* /tmp/conf'
Step 2: Customize your configuration

For more details please have a look at FIXEdge Java Configuration documentation

Step 3: Run your FIXEdge with custom configuration folder mounted
$ docker run \
 --name fixedgej \
 -v $(pwd)/conf:/etc/fixedge-java/ \
 -v $(pwd)/fixaj2-license.bin:/etc/fixedge-java/fixaj2-license.bin \
 -v $(pwd)/fixedgej-license.bin:/etc/fixedge-java/fixedgej-license.bin \
 -p 8911:8911 \
 b2bitsepam/fixedge-java

You can also do this with a minor change to the docker-compose.yaml file:

fixedgej:
  ...
  volumes:
    - './conf:/etc/fixedge-java/'
  ...

Enable state persistence

If you remove the container then FIX sessions sequnce numbers and message caches will be lost. To avoid this loss of data, you should mount a volume that will persist even after the container is removed.

For persistence you should mount a directory at the /var/lib/fixedge-java path.

$ docker run \
 --name fixedgej \
 -v $(pwd)/conf:/etc/fixedge-java/ \
 -v $(pwd)/fixaj2-license.bin:/etc/fixedge-java/fixaj2-license.bin \
 -v $(pwd)/fixedgej-license.bin:/etc/fixedge-java/fixedgej-license.bin \
 -v $(pwd)/data:/var/lib/fixedge-java \
 -p 8911:8911 \
 b2bitsepam/fixedge-java

You can also do this with a minor change to the docker-compose.yaml file:

fixedgej:
  ...
  volumes:
    - './data:/var/lib/fixedge-java'
  ...

Enable SSL/TLS

By default FIXEdge accepts unencrypted TCP connections on port 8911. To enable SSL/TLS support you should provide TLS certificates and make configuration changes.

Follow guideance in FIXEdge Java SSL Parameters documentation.

A complete example
$ docker run --rm -v $(pwd)/conf:/tmp/conf b2bitsepam/fixedge-java sh -c 'cp -r /etc/fixedge-java/* /tmp/conf'
$ docker run \
 --name fixedgej \
 -v $(pwd)/conf:/etc/fixedge-java/ \
 -v $(pwd)/fixaj2-license.bin:/etc/fixedge-java/fixaj2-license.bin \
 -v $(pwd)/fixedgej-license.bin:/etc/fixedge-java/fixedgej-license.bin \
 -v $(pwd)/data:/var/lib/fixedge-java \
 -p 8911:8911 \
 b2bitsepam/fixedge-java

Or use docker-compose.yaml file:

version: '3'

services:
  fixedgej:
    image: b2bitsepam/fixedge-java:latest
    ports:
      - 8911:8911
    volumes:
      - './fixaj2-license.bin:/etc/fixedge-java/fixaj2-license.bin'
      - './fixedgej-license.bin:/etc/fixedge-java/fixedgej-license.bin'
      - './data:/var/lib/fixedge-java'
      - './conf:/etc/fixedge-java'

Resources

Where to get help

Sales Information

Ph: +1-267-759-9000 ext 9
Email: [email protected]

Technical Queries

For technical queries please contact [email protected]


© B2BITS EPAM Systems Company 2000-2025.

Tag summary

Content type

Image

Digest

sha256:91296695a

Size

807.5 MB

Last updated

7 months ago

docker pull b2bitsepam/fixedge-java