| == Camel Quarkus Example Health |
| |
| This example shows how to use Camel health-check with Quarkus. |
| The example shows how you can build custom health-checks and have |
| them automatic discovered by Camel and used as parts of its health-check system. |
| |
| TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites |
| and other general information. |
| |
| The example has two routes. The timer route performs a given task at regular interval. For the sake of this example we'll say |
| that this task unexpectedly freezes the service from time to time. The details can be consulted at http://localhost:8080/health. |
| The custom health check is expected to report UNKNOWN on first consultation, then UP during 10 seconds, and finally DOWN so as to |
| simulate that the service is frozen. |
| |
| The 2nd route is on purpose made to fail on startup by configuring netty to an unknown host. |
| Camel supervising route controller will attempt to restart the route up till 10 times before exhausting. |
| The routes health check will therefore report this route as DOWN until its exhausted where the states are changed to UNKNOWN. |
| |
| The details can be seen at runtime via the following url from a web browser: http://localhost:8080/health. |
| |
| === Start in the Development mode |
| |
| [source,shell] |
| ---- |
| $ mvn clean compile quarkus:dev |
| ---- |
| |
| The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your |
| workspace. Any modifications in your project will automatically take effect in the running application. |
| |
| TIP: Please refer to the Development mode section of |
| https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details. |
| |
| You can check the health check status by calling the following url from a web browser: http://localhost:8080/health |
| |
| === Package and run the application |
| |
| Once you are done with developing you may want to package and run the application. |
| |
| TIP: Find more details about the JVM mode and Native mode in the Package and run section of |
| https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide] |
| |
| === JVM mode |
| |
| [source,shell] |
| ---- |
| |
| $ mvn clean package |
| $ java -jar target/*-runner.jar |
| ... |
| [io.quarkus] (main) camel-quarkus-examples-... started in 0.885s. Listening on: http://0.0.0.0:8080 |
| ---- |
| |
| === Native mode |
| |
| IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section |
| of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide]. |
| |
| To prepare a native executable using GraalVM, run the following command: |
| |
| [source,shell] |
| ---- |
| $ mvn clean package -Pnative |
| $ ./target/*-runner |
| ... |
| [io.quarkus] (main) camel-quarkus-examples-... started in 0.026s. Listening on: http://0.0.0.0:8080 |
| ... |
| ---- |
| |
| === Help and contributions |
| |
| If you hit any problem using Camel or have some feedback, then please |
| https://camel.apache.org/support.html[let us know]. |
| |
| We also love contributors, so |
| https://camel.apache.org/contributing.html[get involved] :-) |
| |
| The Camel riders! |
| |