Simple FIX Client (simplefixclient.jar
) is a Spring Boot Java application that can be used to send predefined FIX messages to any FIX server.
Messages are controlled by scenarios using Domain Specific Language (based on Groovy).
FIX protocol functionality is based on QuickFIX/J open source library.
This project is not supposed to be used for any real trading or any money sensitive production activity.
It is recommended solely as a testing tool to test and validate your FIX applications on QA/UAT environment and learn how FIX Protocol is working.
Simple FIX Client requires Java 8 (can also run on Java 11 LTS or latest Java 12).
It is a Maven project (see pom.xml, file Apache Maven 3.6.3 is recommended) and depends on:
- Spring 5.2.4 https://spring.io/projects/spring-framework
- Spring Boot 2.2.5 https://spring.io/projects/spring-boot
- QuickFIX/J 2.1.1 https://github.com/quickfix-j/quickfixj
- Groovy 1.8.9
All dependencies are downloaded from Internet when you run mvn clean install
.
Since project is a Spring Boot project, Spring Boot Maven build plugin is used to build the artifact.
To build Simple FIX Client run mvn clean install
or mvn package
or use package.bat
in the project folder.
Resulting simplefixclient-<version>.jar JAR file will be created in target
sub-folder.
This JAR file is a Spring Boot jumbo-JAR that contains all dependencies required to run the application.
Start the application using:
jar -jar target/simplefixclient-<version>.jar Scenario1
or use mvn spring-boot:run
command
or use start.bat
or start.sh
script.
Before opening project in Eclipse, run mvn eclipse:eclipse
task in the project's folder. Maven will create Eclipse specific project files. Then import the project into your workspace as a Maven project.
To run project in Eclipse, use Maven task spring-boot:run
.
For testing you can use quickfixj-examples-executor application that is distributed as a part of QuickFIX/J distribution package.
Or Simple FIX Executor can be used which is basically a Spring Boot wrapper around quickfixj-examples-executor application.
Simple FIX Client will use FIX 4.2 protocol and will try to access port 9878 at localhost (see. simplefixclient.cfg).
Sample Groovy DSL scenario "Scenario1.groovy" is located in scenarios
sub-folder.
You can pass any scenario as a startup parameter (without .groovy extension).