Skip to content

JALoP/jjnl

Repository files navigation

This is Java JALoP Network Library (JJNL) v2.x.

JJNL v2.x implements a subscriber that receives JAL Records over a network
using the Journaling, Auditing, and Logging Protocol over HTTP (i.e.
JALoP v2.x). Simply put, JJNL v2.x is a JALoP v2.x Subscriber.

Building and Installing:

This project uses the maven (maven.apache.org) build tool version 3.8.6, and 
is tested using OpenJDK 11. Any Java 11 or newer version of the JDK and other
versions of maven should work, but have not been tested.

The Java JALoP Network Library (JJNL) uses a multi-module layout, and the
entire project can be built by running maven commands in the jnl_parent
directory. The various modules are:

 - jnl_parent - This is the top-level project. Running maven commands within
      this directory affects all modules in the project. The jnl_parent module
      contains common configuration and dependency information.

 - jnl_lib - This module contains the code for the JJNL.

 - jnl_test - This module contains a utility program that acts as a JALoP Network
      Store. It uses the JNL to listen for incoming connections. It's behavior 
      is governed by a configuration file.  The path to the configuration
      file is passed as a command line argument.

Installation Instructions:

1. Install maven:
    % yum install maven

2. Package JALoP JNL project
	# Go to the root directory for the jjnl repository. 
	# Go into the jnl_parent subdirectory:
        cd {path_to}/jnl_parent

	# Build the jjnl library using maven:
		mvn clean
		mvn package

Other Options:
--------------
These steps do not need to be executed in order to use the JALoP
libraries.

To run the unit tests and generate code coverage reports, run:
	mvn test

The generated code coverage reports will appear in the directory coverage-report

To clean the target directory, run:
	mvn clean

To generate Javadoc documentation, run:
	mvn site

The generated documents will appear in the directory target/site.

This project is built and tested in the following environments:
  RHEL 7 on x86_64
  RHEL 8 on x86_64