- Intellij
- Docker
- Maven
- Java 17
- Lombok
- RabbitMQ
Local Host: http://127.0.0.1:8080
Actuator Endpoint Local: http://localhost:8080/actuator/health
Code Climate: https://codeclimate.com/github/bcgov/jag-crdp
WSDL Endpoint Local: N/A
BASIC_AUTH_PASS: The password for the basic authentication. This can be any value for local
BASIC_AUTH_USER: The username for the basic authentication. This can be any value for local
- transmit receiver:
- ORDS_HOST: The url for ords rest package
- CRON_JOB_OUTGOING_FILE: CRON expression (6-field CRON) for running transmit receiver
- RECEIVER_QUEUE_NAME: RabbitMQ queue name for receiver messages, up to 255 bytes of UTF-8 characters
- RECEIVER_ROUTING_KEY: RabbitMQ routing key linking to RECEIVER_QUEUE_NAME
- RABBIT_EXCHANGE_NAME: RabbitMQ direct exchange name, which links a pair of routing key and queue name
- RABBIT_MQ_HOST: RabbitMQ host, 'localhost' by default if installing a RabbitMQ on a local computer
- RABBIT_MQ_USERNAME: RabbitMQ host username
- RABBIT_MQ_PASSWORD: RabbitMQ host password
- ORDS_READ_TIMEOUT: Timeout in seconds which expects the response/result from ORDS
- transmit sender:
- ORDS_HOST: The url for ords rest package
- OUTGOING_FILE_DIR: The path to where the outgoing file is sent on SFEG server
- RECEIVER_QUEUE_NAME: RabbitMQ queue name for receiver messages, up to 255 bytes of UTF-8 characters
- RABBIT_MQ_HOST: RabbitMQ host, 'localhost' by default if installing a RabbitMQ on a local computer
- RABBIT_MQ_USERNAME: RabbitMQ host username
- RABBIT_MQ_PASSWORD: RabbitMQ host password
- SFEG_USERNAME: The username to access SFEG server
- SFEG_HOST: The url to SFEG server
- SFTP_KNOWN_HOSTS: The location of known_hosts file
- SFTP_PRIVATE_KEY: The location of private security key for accessing SFEG server
- ORDS_READ_TIMEOUT: Timeout in seconds which expects the response/result from ORDS
- process scanner:
- SCANNER_QUEUE_NAME: RabbitMQ queue name for scanner messages, up to 255 bytes of UTF-8 characters
- SCANNER_ROUTING_KEY: RabbitMQ routing key linking to SCANNER_QUEUE_NAME
- RABBIT_EXCHANGE_NAME: RabbitMQ direct exchange name, which links a pair of routing key and queue name
- RABBIT_MQ_HOST: RabbitMQ host, 'localhost' by default if installing a RabbitMQ on a local computer
- RABBIT_MQ_USERNAME: RabbitMQ host username
- RABBIT_MQ_PASSWORD: RabbitMQ host password
- INCOMING_FILE_DIR: The path at where the incoming file is stored on SFEG server
- PROCESSING_DIR: The path at where the in-progress file is stored on SFEG server
- CRON_JOB_INCOMING_FILE: CRON expression (6-field CRON) for running process scanner
- RECORD_TTL_HOUR: TTL in hours for clearing ERRORS and COMPLETED directory
- SFEG_USERNAME: The username to access SFEG server
- SFEG_HOST: The url to SFEG server
- SFTP_KNOWN_HOSTS: The location of known_hosts file
- SFTP_PRIVATE_KEY: The location of private security key for accessing SFEG server
- SFTP_ENABLED: true/false on whether SFTP is used (if false - only in local testing, local file system will be used)
- process transformer:
- ORDS_HOST: The url for ords rest package
- SCANNER_QUEUE_NAME: RabbitMQ queue name for scanner messages, up to 255 bytes of UTF-8 characters
- RABBIT_MQ_USERNAME: RabbitMQ host username
- RABBIT_MQ_PASSWORD: RabbitMQ host password
- RABBIT_MQ_HOST: RabbitMQ host, 'localhost' by default if installing a RabbitMQ on a local computer
- PROCESSING_DIR: The path at where the in-progress file is stored on SFEG server
- COMPLETED_DIR: The path at where the completed file is stored on SFEG server
- ERRORS_DIR: The path at where the erred file is stored on SFEG server
- SFEG_USERNAME: The username to access SFEG server
- SFEG_HOST: The url to SFEG server
- SFTP_KNOWN_HOSTS: The location of known_hosts file
- SFTP_PRIVATE_KEY: The private security key for accessing SFEG server
- SFTP_ENABLED: true/false on whether SFTP is used (if false - only in local testing, local file system will be used)
- ORDS_READ_TIMEOUT: Timeout in seconds which expects the response/result from ORDS
SPLUNK_HTTP_URL: The url for the splunk hec.
SPLUNK_TOKEN: The bearer token to authenticate the application.
SPLUNK_INDEX: The index that the application will push logs to. The index must be created in splunk before they can be pushed to.
- Make sure using java 11 for the project modals and sdk
- Run
mvn compile - Make sure
jag-crdp-common-models,jag-crdp-transmit-modelsandjag-crdp-process-modelsare marked as generated sources roots (xjc)
Run docker run -p 5672:5672 -p 15672:15672 rabbitmq:management
Option A) Intellij
- Set env variables.
- Run the application
Option B) Jar, e.g., to run 'jag-crdp-transmit-receiver' application
- Run
mvn package - Run
cd jag-crdp-transmit-receiver - Run
java -jar ./target/jag-crdp-transmit-receiver.jar $ENV_VAR$(Note that$ENV_VAR$ are environment variables)
Option C) Docker, e.g., to run 'jag-crdp-transmit-receiver' application
- Run
mvn package - Run
cd jag-crdp-transmit-receiver - Run
docker build -t jag-crdp-transmit-receiver .from root folder - Run
docker run -p 8080:8080 jag-crdp-transmit-receiver $ENV_VAR$(Note that$ENV_VAR$ are environment variables)
- http://localhost:15672/
- Username: 'guest' by default
- Password: 'guest' by default
- Do not commit \CRLF use unix line enders
- Run the linter
mvn spotless:apply
- Run
mvn clean verify - Open
crdp-code-coverage/target/site/jacoco/index.htmlin a browser