Connector tool based on scheduling.
|
|
%!s(int64=6) %!d(string=hai) anos | |
|---|---|---|
| config | %!s(int64=5) %!d(string=hai) anos | |
| connector-app | %!s(int64=5) %!d(string=hai) anos | |
| connector-common | %!s(int64=5) %!d(string=hai) anos | |
| connector-fetch-api | %!s(int64=5) %!d(string=hai) anos | |
| connector-fetch-azure | %!s(int64=5) %!d(string=hai) anos | |
| connector-fetch-fieldclimate | %!s(int64=5) %!d(string=hai) anos | |
| connector-model | %!s(int64=5) %!d(string=hai) anos | |
| connector-push-api | %!s(int64=6) %!d(string=hai) anos | |
| connector-push-rest-senslog-v1 | %!s(int64=5) %!d(string=hai) anos | |
| connector-push-rest-senslog-v2 | %!s(int64=6) %!d(string=hai) anos | |
| docker | %!s(int64=6) %!d(string=hai) anos | |
| .gitignore | %!s(int64=6) %!d(string=hai) anos | |
| README.md | %!s(int64=6) %!d(string=hai) anos | |
| docker-compose.yaml | %!s(int64=5) %!d(string=hai) anos | |
| pom.xml | %!s(int64=6) %!d(string=hai) anos |
The docker container is based on the image zenika/alpine-maven:3-jdk8. Uses Java JDK 8 and Maven 3. Configuration is composed of docker-compose.yaml and Dockerfile.
Fundamental configuration which is used as a base for all services. Contains several variables:
Accessible in compile time:
Accessible in runtime:
Configuration of services. This file contains configuration of each service where are defined build and runtime variables.
Name of service is fcs2 which is used for build and start the service. Build arguments contain definition of maven profile. Arguments variables defines in build section are accessible only during compile time. When the images is created, the variables can not be changed. Environment variables are located in environment section and can be changed after the build process. These variables are used to set configuration for the built. Debugging can be enabled to set DEBUG variable to true and publish the port 50005. Otherwise the debugging is disable.
services:
fcs1:
container_name: fieldclimateSenslog1
build:
dockerfile: Dockerfile
context: .
args:
MAVEN_PROFILE: FieldClimateSenslog1
ports:
- "5005:5005"
restart: always
environment:
APP_PARAMS: -cf config/fieldclimateSenslog1.yaml
DEBUG: "true"
To build all or a specific one service.
$ docker-compose build
$ docker-compose build <service_name> // e.g. fcs2
To start all or a specific one service.
$ docker-compose up
$ docker-compose up <service> // e.g. fcs2
The application supports Java 8+ and uses Maven as a build automation tool. Configuration for Maven contains profiles which defines modules that will be compiled.
It is recommended to clean entire project before compilation.
$ mvn clean
To build all modules.
$ mvn package
To build only the modules which contains modules for the Azure LoraWan and the Senslog V1.
$ mvn package -P LoraWanSenslog1
All modules (JARs) are compiled to the bin folder. To be able to start the application, it is important to add all JARs to classpath and to define main class (java ).
$ java -cp "bin/*" cz.senslog.connector.app.Main <app_params>
The application allows these parameters:
Usage: General Senslog Connector [options]
Options:
-cf, -config-file
Configuration file in .yaml format.
-h, -help