Versions Compared


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


It is very simple to upgrade FEJ. First, download the new version of FEJ and unzip it (see Quick startStart). Then, replace all files and directories in your FEJ home directory, except for the /conf directory. All custom user configurations are saved in /conf, therefore the upgrade will not affect personal settings.

How to configure session schedule that can't be defined via single cron-expression


FIXEdge Java 1.8.0 and earlier doesn't support several schedules for the session. So there is a limitation preventing creating a session schedule requiring multiple cron expressions.


  • Saturday: 6PM – 7PM ET
  • Sunday: 10AM – 11AM ET
  • Sunday: 6PM – 7PM ET

To achieve this, the user can configure a weekly session with start at 7 PM Sun and stop at 6 PM Sat. And cover the rest time intervals via external tools and scripts (FIXEdge JAVA administration shell CLI) that can start the session remotely. 


FIXEdeg FIXEdge Java Administrative shell requests passing of a password to it.

Before using it as part of the script, the user should at least once connect to the administrative shell and save SSH keys and insert a password manually.


  • username - test
  • password - test
  • remote host -
  • session name - session1


sshpass tool is installed on the administrative host.

Optionally for the Windows remote host, you can use the plink tool (which is part of the PuTTY package):


Echo configuration between FIXEdge Java and Simple Client is performed in the following way:

  1. Install FIXEdge Java.
  2. Create To create the TestEchoAcceptor session, create a new file fixedgejfile named fixedgej-x.x.x\conf\session\ for add session
    Configure session parameters there:

    Code Block
    startOnload = true
  3. Configure BLBusiness Logic rules in the fixedgej-x.x.x\conf\rules.groovy file. This will route all messages from the TestEchoAcceptor session back to the TestEchoAcceptor session.

    Code Block
    RoutingContext rc = routingContext as RoutingContext;
            messageRule("FIXEDGE -> FIXECHOCLIENT")
                    .sourceCondition({ source -> == "TestEchoAcceptor" })
                        ctx ->
                            def destination = rc.getDestinationById("TestEchoAcceptor")

    The session-id value in the rule == "TestEchoAcceptor" is the same as the id ID in the session configuration file session configuration file.

  4. Run FIXEdge Java.
    E.g. via For example, via the run script:
    • Windows: Go to the FIXEdge Java installation dir fixedgej-x.x.x\bat\ and run the runConsole.bat script.
    • Linux: Go to the FIXEdge Java installation dir fixedgej-x.x.x/bin and run the script.

  5. Open FIX Client Simulator (FCS).
    Create a new session as Initiator:

    Code Block
    Session type: Initiator
    TargetCompID = FIXEdgeJ
    FIX Version = 4.4
    Remote Port = 8911 (server.port parameter in FEJ -> fixedgej-x.x.x\conf\ )
    Remote Host = localhost (or IP address/hostname of the FIXEdge Java server)

    Image RemovedImage Added


    The default port for session acceptors is 8911 and specified as the server.port parameter in the file.

    NOTE: SenderCompID on the FCS side should have the same value as TargetCompId on the FIXEdge side.
    And  TargetCompId on the FCS side should be the same as SenderCompID on FIXEdge 's side.

  6. Send the message from FIX Client Simulator (Pipe the Pipes character is used to represent represent the SOH character).

    Code Block
    titleNew Order - Echo test.msg

    The file contains SOH symbols: NewOrderEchoTestMessage.txt

  7. The Echo message from FIXEdge is received.

    Code Block