fileSet
defining the QFJ Dictionary Locations.
+ */
+ @Parameter ( property = "fileset", required = true )
+ private FileSet fileset;
+
+ /**
+ * Location of classes to delete
+ */
+ @Parameter( defaultValue = "classes", property = "classesDirectory", required = true )
+ private File classesDirectory;
+
+ /**
+ * Location of the generated source to delete
+ */
+ @Parameter( defaultValue = "generated-sources", property = "generatedSourcesDirectory", required = true )
+ private File generatedSourcesDirectory;
+
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ this.getLog().info("executing mojo.");
+
+ if ( !classesDirectory.exists() || !classesDirectory.isDirectory() )
+ {
+ String errorMsg = new StringBuilder(classesDirectory.getAbsolutePath()).append(" must exist and be a directory.").toString();
+ this.getLog().error(errorMsg.toString());
+ throw new MojoExecutionException( errorMsg.toString() );
+ } else {
+ this.getLog().info(new StringBuilder("Classes Directory : ").append(classesDirectory.getAbsolutePath()).toString());
+ }
+
+ if ( !generatedSourcesDirectory.exists() || !generatedSourcesDirectory.isDirectory() )
+ {
+ String errorMsg = new StringBuilder(generatedSourcesDirectory.getAbsolutePath()).append(" must exist and be a directory.").toString();
+ this.getLog().error(errorMsg.toString());
+ throw new MojoExecutionException( errorMsg.toString() );
+ } else {
+ this.getLog().info(new StringBuilder("Generated Sources Directory : ").append(generatedSourcesDirectory.getAbsolutePath()).toString());
+ }
+
+ if (null == fileset) {
+ String errorMsg = "filset must not be null.";
+ this.getLog().error(errorMsg);
+ throw new MojoExecutionException( errorMsg );
+ }
+
+ SetJVM compatible with Oracle JRE Java 1.7.x or higher.
+JVM compatible with JRE Java 1.8.x or higher.
QuickFIX/J has "base" and "core" libraries for the FIX "Engine" and one or more Message libraries are required at runtime.
+ +The required Message libraries depend on the FIX Protocol Version. A QuickFIX/J process can support more than one FIX Protocol version at runtime, using different Session configurations.
+ +Please note that customised versions of the FIX message artefacts can be built to meet specific Rules of Engagement. Please refer to the QuickFIX/J github repository for details.
+-(Note: The actual JAR files may have version numbers in them.) +(Note: The actual JAR files have semantic version numbers in the name. For example : quickfixj-messages-fixlatest-3.0.0.jar)
Library | -Description | -||
---|---|---|---|
The QFJ core JAR and message JARs.
-
|
- QFJ runtime libraries | -||
Library | +Description | +||
The QuickFIX/J base and core JARs and message JARs.
+
|
+ QuickFIX/J fundamental libraries | +||
With one or more message JAR for FIX versions before FIX 5.0
+
|
+ Message Libraries required at runtime | +||
OR | |||
+
|
+ JAR including base, core and message JARs | +
These instructions are for developers who don't want - to use the prebuilt binaries or are intending to modify and rebuild the QuickFIX/J + to use the pre-built binaries or are intending to modify and rebuild the QuickFIX/J code. If you are building the code from the command line you'll need - to download and install Maven (version 3.2.5 or newer). If you are building from - an IDE, Maven is usually included. + to download and install Maven (version 3.5.0 or newer). -Building from source requires Java 7+. +Building from source requires Java 8 or later.
mvn package
to build the QuickFIX/J and examples jar files.
+ mvnw package
to build the QuickFIX/J and examples jar files.
This will also generate all the FIX message-related code for the various
FIX versions.generate.code
target.Switch | @@ -150,66 +181,76 @@
---|
For example, in order to generate fields with BigDecimals and skip acceptance tests:
-mvn test -Dgenerator.decimal=true -DskipAT=true
+mvnw test -Dgenerator.decimal=true -DskipAT=true
Find further details in the project readme
There are
- Eclipse and Netbeans project definition files in the top-level directory of the checked out directory.
-
- When the project is first created, it will not have the generated message classes
+ When the project is first created, it will not have the generated message classes
and compile errors will occur! Best is to compile once on the command line before importing
the project into the IDE.
+ If the IDE reports some errors after the compilation with If you are using the Maven build system, you can reference
the pre-built QuickFIX/J libraries hosted at the Central Repository
repository. Add the following to your dependencies section, with appropriate modifications based on
- the logging subsystem you choose: You need only include message libraries for the FIX protocol version that you require. Note : the quickfixj-messages-fixt11 jar is required for FIX versions 5.0 and later. The following example shows maven dependencies, any SLF4J compatible logging implementation can be used:mvnw package
, try to use mvnw install
.
+
Maven Integration:
-
+
+
<!-- QuickFIX/J dependencies -->
<dependency>
<groupId>org.quickfixj</groupId>
<artifactId>quickfixj-core</artifactId>
- <version>2.0.0</version>
+ <version>3.0.0</version>
+</dependency>
+<dependency>
+ <groupId>org.quickfixj</groupId>
+ <artifactId>quickfixj-base</artifactId>
+ <version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.quickfixj</groupId>
<artifactId>quickfixj-messages-fix40</artifactId>
- <version>2.0.0</version>
+ <version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.quickfixj</groupId>
<artifactId>quickfixj-messages-fix41</artifactId>
- <version>2.0.0</version>
+ <version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.quickfixj</groupId>
<artifactId>quickfixj-messages-fix42</artifactId>
- <version>2.0.0</version>
+ <version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.quickfixj</groupId>
<artifactId>quickfixj-messages-fix43</artifactId>
- <version>2.0.0</version>
+ <version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.quickfixj</groupId>
<artifactId>quickfixj-messages-fix44</artifactId>
- <version>2.0.0</version>
+ <version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.7.22</version>
+ <artifactId>slf4j-api</artifactId>
+ <version>2.0.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.7.22</version>
-</dependency>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>2.0.6/version>
+</dependency>
+
+
Please refer to the QuickFIX/J github repository for more details about working with QuickFIX/J.
+ Everything needed to generate your database is in the src/main/resources/config/sql subdirectories.
For MySQL, there are the script and batch files create_mysql.sh
and create_mysql.bat
.
@@ -220,7 +261,7 @@
Oracle treats empty strings as null values. Null values are not allowed for primary key fields. The fields used in the primary keys are: diff --git a/quickfixj-core/src/main/doc/usermanual/support.html b/quickfixj-core/src/main/doc/usermanual/support.html index caec340aa2..0fc87ec45c 100644 --- a/quickfixj-core/src/main/doc/usermanual/support.html +++ b/quickfixj-core/src/main/doc/usermanual/support.html @@ -13,7 +13,7 @@
QuickFIX/J issues can be discussed on the mailing
+ QuickFIX/J issues can be discussed on the mailing
lists hosts at the SourceForge
project site.Web Site
@@ -21,9 +21,11 @@ Web Site
site.
More information about the original C++ QuickFIX can be found at the quickfixengine.org web site.
+Further detailed documents and source code can be found on github
More information about the FIX protocol can be found at the FIX - Protocol Limited web site.
+More information about the FIX protocol can be found at the FIX + Trading Community web site.