zufi-manager Project
KOP implementierung der ZuFi-Schnittstelle des Portalverbund Online-Gateways.
This project uses Quarkus, the Supersonic Subatomic Java Framework.
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
Configuring the application
This properties must be configured to run the application
Key | Value | Default | Mandatory | Description |
---|---|---|---|---|
quarkus.elasticsearch.hosts | host1.local,host2.local | none | yes | List of elasticsearch hosts |
quarkus.elasticsearch.protocol | https | none | yes | Protocol used, http or https |
quarkus.elasticsearch.username | elastic | none | yes | Username for the elastic search server |
quarkus.elasticsearch.passowrd | password | none | yes | Password of the user for the elastic search server |
quarkus.oidc-client.auth-server-url | https://sso.pvog.service | none | yes | Address of the PVOG SSO |
quarkus.oidc-client.client-id | kop | none | yes | Id of the PVOG SSO client |
quarkus.oidc-client.credentials.secret | secret | none | yes | The secret of the PVOG SSO client |
quarkus.rest-client.kop.url | https://pvog.service | none | yes | The address of the PVOG service |
kop.zufi.land.code | 01% | 01% | no | The ARS code used for requests, default is the code of Schleswig-Holstein |
Running the application in dev mode
Because the kop-zufi.pvog app is a CLI application the dev mode is quite limited. But you can run the app in dev mode using:
./mvnw compile quarkus:dev -Dquarkus.profile=local
The dev UI is not available
Packaging and running the application
The application can be packaged using:
./mvnw package
It produces the quarkus-run.jar
file in the target/quarkus-app/
directory.
Be aware that it’s not an über-jar as the dependencies are copied into the target/quarkus-app/lib/
directory.
The application is now runnable using java -jar target/quarkus-app/quarkus-run.jar
.
If you want to build an über-jar, execute the following command:
./mvnw package -Dquarkus.package.type=uber-jar
The application, packaged as an über-jar, is now runnable using java -jar target/*-runner.jar
.
Creating a native executable
You can create a native executable using:
./mvnw package -Pnative
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
./mvnw package -Pnative -Dquarkus.native.container-build=true
You can then execute your native executable with:
./kop-zufi-pvog/target/kop-zufi-pvog-0.1.0-runner -Dquarkus.oidc-client.auth-server-url=<sso.url.here> -Dquarkus.oidc-client.client-id=kop -Dquarkus.oidc-client.credentials.secret=<secret here> -Dquarkus.rest-client.kop.url=<pvog service address here> -Dkop.zufi.land.code=01%
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.
Best parctice
User package-private fields for injected fields
This involves injection fields, constructors and initializers, observer methods, producer methods and fields, disposers and interceptor methods.