= Health: A Camel Quarkus example
:cq-example-description: An example that shows how to use Camel health-checks with Quarkus.

{cq-description} It also 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/quarkus-app/quarkus-run.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
...
----

== Feedback

Please report bugs and propose improvements via https://github.com/apache/camel-quarkus/issues[GitHub issues of Camel Quarkus] project.
