This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch camel-quarkus-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus-examples.git


The following commit(s) were added to refs/heads/camel-quarkus-main by this 
push:
     new 510180f2 Move health example content into observability project
510180f2 is described below

commit 510180f231ac4a194dacff089ba1380185c2a383
Author: James Netherton <[email protected]>
AuthorDate: Sat Oct 24 07:49:41 2026 +0100

    Move health example content into observability project
---
 docs/modules/ROOT/attachments/examples.json        |   5 -
 health/README.adoc                                 |  72 -----
 health/eclipse-formatter-config.xml                | 276 -------------------
 health/pom.xml                                     | 296 ---------------------
 .../main/java/org/acme/health/MyRouteBuilder.java  |  32 ---
 .../org/acme/health/RunTooLongHealthCheck.java     |  61 -----
 health/src/main/resources/application.properties   |  59 ----
 health/src/test/java/org/acme/health/HealthIT.java |  28 --
 .../src/test/java/org/acme/health/HealthTest.java  |  46 ----
 observability/README.adoc                          |  18 ++
 .../src/main/resources/application.properties      |  25 ++
 pom.xml                                            |   1 -
 12 files changed, 43 insertions(+), 876 deletions(-)

diff --git a/docs/modules/ROOT/attachments/examples.json 
b/docs/modules/ROOT/attachments/examples.json
index a60b0dac..5a8f36bc 100644
--- a/docs/modules/ROOT/attachments/examples.json
+++ b/docs/modules/ROOT/attachments/examples.json
@@ -64,11 +64,6 @@
     "description": "Shows how to create HTTP endpoints using either the 
RESTEasy",
     "link": 
"https://github.com/apache/camel-quarkus-examples/tree/main/http-log";
   },
-  {
-    "title": "Health",
-    "description": "Shows how to use Camel health-checks with Quarkus.",
-    "link": "https://github.com/apache/camel-quarkus-examples/tree/main/health";
-  },
   {
     "title": "JMS and JPA",
     "description": "Shows how to run a Camel Quarkus application that supports 
JTA transactions on three external transactional resources: a database (MySQL), 
a messaging broker (Artemis) and a simulated XAResource which can demonstrate 
the commit, rollback and crash recovery.",
diff --git a/health/README.adoc b/health/README.adoc
deleted file mode 100644
index 66e96378..00000000
--- a/health/README.adoc
+++ /dev/null
@@ -1,72 +0,0 @@
-= 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/q/health.
-The custom health check is expected to report UNKNOWN on first consultation, 
then UP during 10 seconds, and finally DOWN 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/q/health.
-
-=== Start in 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/q/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 -Dnative
-./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.
diff --git a/health/eclipse-formatter-config.xml 
b/health/eclipse-formatter-config.xml
deleted file mode 100644
index 2248b2b8..00000000
--- a/health/eclipse-formatter-config.xml
+++ /dev/null
@@ -1,276 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<profiles version="8">
-    <profile name="Camel Java Conventions" version="8" 
kind="CodeFormatterProfile">
-        <setting 
id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" 
value="false"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" 
value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
-        <setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" 
value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" 
value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" 
value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration"
 value="16"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration"
 value="16"/>
-        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" 
value="1"/>
-        <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" 
value="1"/>
-        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" 
value="0"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration"
 value="0"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
-        <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" 
value="1"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" 
value="1"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration"
 value="end_of_line"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration"
 value="end_of_line"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" 
value="end_of_line"/>
-        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" 
value="end_of_line"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" 
value="end_of_line"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" 
value="end_of_line"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" 
value="end_of_line"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" 
value="end_of_line"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" 
value="end_of_line"/>
-        <setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" 
value="end_of_line"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" 
value="end_of_line"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" 
value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped" 
value="false"/>
-        <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines" 
value="false"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.format_block_comments" 
value="false"/>
-        <setting id="org.eclipse.jdt.core.formatter.comment.format_comments" 
value="true"/>
-        <setting id="org.eclipse.jdt.core.formatter.comment.format_header" 
value="false"/>
-        <setting id="org.eclipse.jdt.core.formatter.comment.format_html" 
value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" 
value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="false"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" 
value="false"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.indent_return_description" 
value="false"/>
-        <setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" 
value="false"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" 
value="do not insert"/>
-        <setting id="org.eclipse.jdt.core.formatter.comment.line_length" 
value="120"/>
-        <setting id="org.eclipse.jdt.core.formatter.compact_else_if" 
value="true"/>
-        <setting id="org.eclipse.jdt.core.formatter.continuation_indentation" 
value="2"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer"
 value="2"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" 
value="false"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header"
 value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header"
 value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header"
 value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" 
value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" 
value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" 
value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" 
value="true"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" 
value="false"/>
-        <setting id="org.eclipse.jdt.core.formatter.indentation.size" 
value="8"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do 
not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do 
not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not 
insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized"
 value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" 
value="insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not 
insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" 
value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration"
 value="do not insert"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation"
 value="do not insert"/>
-        <setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" 
value="false"/>
-        <setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" 
value="false"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" 
value="false"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" 
value="false"/>
-        <setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" 
value="false"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" 
value="false"/>
-        <setting id="org.eclipse.jdt.core.formatter.lineSplit" value="128"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body"
 value="0"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" 
value="1"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" 
value="true"/>
-        <setting id="org.eclipse.jdt.core.formatter.tabulation.char" 
value="space"/>
-        <setting id="org.eclipse.jdt.core.formatter.tabulation.size" 
value="4"/>
-        <setting 
id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" 
value="false"/>
-        <setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" 
value="true"/>
-        <setting id="org.eclipse.jdt.core.formatter.disabling_tag" 
value="CHECKSTYLE:OFF"/>
-        <setting id="org.eclipse.jdt.core.formatter.enabling_tag" 
value="CHECKSTYLE:ON"/>
-    </profile>
-</profiles>
diff --git a/health/pom.xml b/health/pom.xml
deleted file mode 100644
index e0ec36e2..00000000
--- a/health/pom.xml
+++ /dev/null
@@ -1,296 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>camel-quarkus-examples-health</artifactId>
-    <groupId>org.apache.camel.quarkus.examples</groupId>
-    <version>4.0.0-SNAPSHOT</version>
-
-    <name>Camel Quarkus :: Examples :: Health</name>
-    <description>Camel Quarkus Example :: Health Check</description>
-
-    <properties>
-        <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
-        
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
-
-        <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
-        
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
-        
<camel-quarkus.platform.group-id>org.apache.camel.quarkus</camel-quarkus.platform.group-id>
-        
<camel-quarkus.platform.artifact-id>camel-quarkus-bom</camel-quarkus.platform.artifact-id>
-
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <maven.compiler.release>21</maven.compiler.release>
-
-        <formatter-maven-plugin.version>2.29.0</formatter-maven-plugin.version>
-        <impsort-maven-plugin.version>1.13.0</impsort-maven-plugin.version>
-        <license-maven-plugin.version>5.1.2</license-maven-plugin.version>
-        <maven-compiler-plugin.version>3.16.0</maven-compiler-plugin.version>
-        <maven-jar-plugin.version>3.5.1</maven-jar-plugin.version>
-        <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
-        <maven-surefire-plugin.version>3.5.6</maven-surefire-plugin.version>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <!-- Import BOM -->
-            <dependency>
-                <groupId>${quarkus.platform.group-id}</groupId>
-                <artifactId>${quarkus.platform.artifact-id}</artifactId>
-                <version>${quarkus.platform.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-            <dependency>
-                <groupId>${camel-quarkus.platform.group-id}</groupId>
-                <artifactId>${camel-quarkus.platform.artifact-id}</artifactId>
-                <version>${camel-quarkus.platform.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-bean</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-log</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-observability-services</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-netty</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-timer</artifactId>
-        </dependency>
-
-        <!-- Test -->
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>io.rest-assured</groupId>
-            <artifactId>rest-assured</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-
-                <plugin>
-                    <groupId>net.revelc.code.formatter</groupId>
-                    <artifactId>formatter-maven-plugin</artifactId>
-                    <version>${formatter-maven-plugin.version}</version>
-                    <configuration>
-                        
<configFile>${maven.multiModuleProjectDirectory}/eclipse-formatter-config.xml</configFile>
-                        <lineEnding>LF</lineEnding>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>net.revelc.code</groupId>
-                    <artifactId>impsort-maven-plugin</artifactId>
-                    <version>${impsort-maven-plugin.version}</version>
-                    <configuration>
-                        <groups>java.,javax.,org.w3c.,org.xml.,junit.</groups>
-                        <removeUnused>true</removeUnused>
-                        <staticAfter>true</staticAfter>
-                        
<staticGroups>java.,javax.,org.w3c.,org.xml.,junit.</staticGroups>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>${maven-compiler-plugin.version}</version>
-                    <configuration>
-                        <showDeprecation>true</showDeprecation>
-                        <showWarnings>true</showWarnings>
-                        <compilerArgs>
-                            <arg>-Xlint:unchecked</arg>
-                        </compilerArgs>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>${maven-surefire-plugin.version}</version>
-                    <configuration>
-                        <failIfNoTests>false</failIfNoTests>
-                        <systemPropertyVariables>
-                            
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
-                        </systemPropertyVariables>
-                    </configuration>
-                </plugin>
-
-                <plugin>
-                    <groupId>${quarkus.platform.group-id}</groupId>
-                    <artifactId>quarkus-maven-plugin</artifactId>
-                    <version>${quarkus.platform.version}</version>
-                    <extensions>true</extensions>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-failsafe-plugin</artifactId>
-                    <version>${maven-surefire-plugin.version}</version>
-                </plugin>
-
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-jar-plugin</artifactId>
-                    <version>${maven-jar-plugin.version}</version>
-                </plugin>
-
-                <plugin>
-                    <groupId>com.mycila</groupId>
-                    <artifactId>license-maven-plugin</artifactId>
-                    <version>${license-maven-plugin.version}</version>
-                    <configuration>
-                        <failIfUnknown>true</failIfUnknown>
-                        
<header>${maven.multiModuleProjectDirectory}/header.txt</header>
-                        <excludes>
-                            <exclude>**/*.adoc</exclude>
-                            <exclude>**/*.txt</exclude>
-                            <exclude>**/LICENSE.txt</exclude>
-                            <exclude>**/LICENSE</exclude>
-                            <exclude>**/NOTICE.txt</exclude>
-                            <exclude>**/NOTICE</exclude>
-                            <exclude>**/README</exclude>
-                            <exclude>**/pom.xml.versionsBackup</exclude>
-                            <exclude>**/quarkus.log*</exclude>
-                        </excludes>
-                        <mapping>
-                            <java>SLASHSTAR_STYLE</java>
-                            <properties>CAMEL_PROPERTIES_STYLE</properties>
-                            <kt>SLASHSTAR_STYLE</kt>
-                        </mapping>
-                        <headerDefinitions>
-                            
<headerDefinition>${maven.multiModuleProjectDirectory}/license-properties-headerdefinition.xml</headerDefinition>
-                        </headerDefinitions>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-
-        <plugins>
-            <plugin>
-                <groupId>${quarkus.platform.group-id}</groupId>
-                <artifactId>quarkus-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>build</id>
-                        <goals>
-                            <goal>build</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>net.revelc.code.formatter</groupId>
-                <artifactId>formatter-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>format</id>
-                        <goals>
-                            <goal>format</goal>
-                        </goals>
-                        <phase>process-sources</phase>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>net.revelc.code</groupId>
-                <artifactId>impsort-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>sort-imports</id>
-                        <goals>
-                            <goal>sort</goal>
-                        </goals>
-                        <phase>process-sources</phase>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>com.mycila</groupId>
-                <artifactId>license-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>license-format</id>
-                        <goals>
-                            <goal>format</goal>
-                        </goals>
-                        <phase>process-sources</phase>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>native</id>
-            <activation>
-                <property>
-                    <name>native</name>
-                </property>
-            </activation>
-            <properties>
-                <quarkus.native.enabled>true</quarkus.native.enabled>
-            </properties>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
diff --git a/health/src/main/java/org/acme/health/MyRouteBuilder.java 
b/health/src/main/java/org/acme/health/MyRouteBuilder.java
deleted file mode 100644
index 11dc4aa5..00000000
--- a/health/src/main/java/org/acme/health/MyRouteBuilder.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.acme.health;
-
-import org.apache.camel.builder.RouteBuilder;
-
-public class MyRouteBuilder extends RouteBuilder {
-
-    @Override
-    public void configure() {
-        from("timer:foo?period={{myPeriod}}").routeId("timer").log("Doing one 
more task");
-
-        // this route is invalid and fails during startup
-        // the supervising route controller will take over and attempt
-        // to restart this route
-        from("netty:tcp:unknownhost").to("log:dummy").routeId("netty");
-    }
-}
diff --git a/health/src/main/java/org/acme/health/RunTooLongHealthCheck.java 
b/health/src/main/java/org/acme/health/RunTooLongHealthCheck.java
deleted file mode 100644
index df16e238..00000000
--- a/health/src/main/java/org/acme/health/RunTooLongHealthCheck.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.acme.health;
-
-import java.util.Map;
-
-import org.apache.camel.health.HealthCheckResultBuilder;
-import org.apache.camel.impl.health.AbstractHealthCheck;
-
-/**
- * A user defined health check that reports UNKNOWN on first call, then UP for
- * 10 seconds and finally DOWN afterward. This is a custom implementation of a
- * Camel {@link org.apache.camel.health.HealthCheck} and used as part of 
Camel's
- * health-check system.
- */
-public class RunTooLongHealthCheck extends AbstractHealthCheck {
-
-    private volatile long firstCallTimeMillis = 0;
-
-    public RunTooLongHealthCheck() {
-        super("custom", "toolong");
-    }
-
-    @Override
-    protected void doCall(HealthCheckResultBuilder builder, Map<String, 
Object> options) {
-        builder.detail("toolong", "Reports DOWN when run for too long");
-        if (firstCallTimeMillis == 0) {
-            builder.unknown();
-            firstCallTimeMillis = System.currentTimeMillis();
-        } else if ((System.currentTimeMillis() - firstCallTimeMillis) < 10 * 
1000L) {
-            builder.up();
-        } else {
-            builder.down();
-        }
-    }
-
-    @Override
-    public boolean isReadiness() {
-        // only liveness probe
-        return false;
-    }
-
-    @Override
-    public boolean isLiveness() {
-        return true;
-    }
-}
diff --git a/health/src/main/resources/application.properties 
b/health/src/main/resources/application.properties
deleted file mode 100644
index 9a53c859..00000000
--- a/health/src/main/resources/application.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-#
-# Quarkus
-#
-quarkus.banner.enabled = false
-
-# to configure camel main
-# here you can configure options on camel quarkus
-camel.quakus.name = MyHealthyCamel
-
-# enable supervised route controller which will start up routes in safe manner
-camel.routeController.enabled = true
-# attempt up till 10 times to start a route (and exhaust if still failing)
-# when a route is exhausted then its taken out as being supervised and
-# will not take part of health check either (UNKNOWN state)
-camel.routeController.back-off-max-attempts = 10
-# when starting a route (and restarts) fails all attempts
-# then we can control whether the route should be influenced by the health 
check
-# and report the route as either UNKNOWN or DOWN. Setting this option to true
-# will report it as DOWN otherwise its UNKNOWN
-#camel.routeController.unhealthy-on-exhausted = true
-
-# enable health check (is automatic enabled if discovered on classpath)
-# global flag to enable/disable
-camel.health.enabled = true
-
-# routes check is default included but, we can turn it on|off
-camel.health.routes-enabled = true
-
-# registry check is default included but, we can turn it on|off
-camel.health.registry-enabled = true
-
-# you can turn on or off individual routes as shown below
-#camel.health.config[timer].parent = routes
-#camel.health.config[timer].enabled = true
-#camel.health.config[netty].parent = routes
-#camel.health.config[netty].enabled = false
-
-# find grained routes configuration per route (support wildcards)
-# (enabled is default true for discovered health-checks)
-#camel.health.config[*].enabled = true
-
-# properties used in the route
-myPeriod = 10s
diff --git a/health/src/test/java/org/acme/health/HealthIT.java 
b/health/src/test/java/org/acme/health/HealthIT.java
deleted file mode 100644
index f0105017..00000000
--- a/health/src/test/java/org/acme/health/HealthIT.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.acme.health;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-import org.eclipse.microprofile.config.ConfigProvider;
-
-@QuarkusIntegrationTest
-class HealthIT extends HealthTest {
-    @Override
-    protected Integer getManagementPort() {
-        return ConfigProvider.getConfig().getValue("quarkus.management.port", 
Integer.class);
-    }
-}
diff --git a/health/src/test/java/org/acme/health/HealthTest.java 
b/health/src/test/java/org/acme/health/HealthTest.java
deleted file mode 100644
index 2f76d033..00000000
--- a/health/src/test/java/org/acme/health/HealthTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.acme.health;
-
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import org.eclipse.microprofile.config.ConfigProvider;
-import org.hamcrest.Matchers;
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-
-@QuarkusTest
-public class HealthTest {
-
-    @Test
-    public void testHealth() {
-        RestAssured.port = getManagementPort();
-        RestAssured.get("/observe/health")
-                .then()
-                .statusCode(503)
-                .body("status", is("DOWN"),
-                        "checks.findAll { it.name == 'toolong' }.status", 
Matchers.contains("UP"),
-                        "checks.findAll { it.name == 'context' }.status", 
Matchers.contains("UP", "UP"),
-                        "checks.findAll { it.name == 'camel-routes' }.status", 
Matchers.contains("DOWN"),
-                        "checks.findAll { it.name == 'camel-consumers' 
}.status", Matchers.contains("DOWN"));
-    }
-
-    protected Integer getManagementPort() {
-        return 
ConfigProvider.getConfig().getValue("quarkus.management.test-port", 
Integer.class);
-    }
-}
diff --git a/observability/README.adoc b/observability/README.adoc
index 59b1266c..0c570360 100644
--- a/observability/README.adoc
+++ b/observability/README.adoc
@@ -149,6 +149,24 @@ You'll see these listed in the health JSON as 
'custom-liveness-check' and 'custo
 
 You can also directly leverage MicroProfile Health APIs to create checks. 
Class `CamelUptimeHealthCheck` demonstrates how to register a readiness check.
 
+==== Supervised routes
+
+The example enables the Camel supervising route controller 
(`camel.routecontroller.enabled = true` in `application.properties`).
+If a route fails to start, for example because a remote system it consumes 
from is unavailable, the application
+still starts. The controller then keeps trying to start the route in the 
background, with a backoff between each attempt.
+
+While the controller is restarting a route, the `camel-routes` readiness check 
reports that route as DOWN.
+If every restart attempt fails, the route is reported as DOWN by default, or 
as UNKNOWN if you set
+`camel.routecontroller.unhealthy-on-exhausted = false`. You can tune the 
backoff with options such as
+`camel.routecontroller.back-off-max-attempts` and 
`camel.routecontroller.back-off-delay`.
+
+`application.properties` also has commented examples of the `camel.health.*` 
options. You can use them to turn the
+built-in checks on or off, exclude checks with `camel.health.exclude-pattern`, 
or change how much detail the health
+endpoints show with `camel.health.exposure-level`.
+
+TIP: Refer to the https://camel.apache.org/manual/route-controller.html[route 
controller] and https://camel.apache.org/manual/health-check.html[health check]
+documentation for the full list of options.
+
 === Tracing
 
 To be able to diagnose problems in Camel Quarkus applications, it's useful to 
instrument method calls, HTTP interactions etc with OpenTelemetry.
diff --git a/observability/src/main/resources/application.properties 
b/observability/src/main/resources/application.properties
index 99d93ff0..e6a2c590 100644
--- a/observability/src/main/resources/application.properties
+++ b/observability/src/main/resources/application.properties
@@ -69,6 +69,31 @@ greeting-provider-app.service.host = localhost
 greeting-provider-app.service.port = ${quarkus.http.port}
 %test.greeting-provider-app.service.port = ${quarkus.http.test-port}
 
+# Enable the supervising route controller. Routes that fail to start do not 
prevent the application from starting.
+# Instead, the controller keeps trying to start them in the background, using 
a backoff between each attempt
+camel.routecontroller.enabled = true
+# Attempt to start a failing route up to 10 times, with a 2 second delay 
between attempts, before giving up on it
+camel.routecontroller.back-off-max-attempts = 10
+camel.routecontroller.back-off-delay = 2000
+# Whether the camel-routes health check reports a route as DOWN while it is 
being restarted (default true)
+# camel.routecontroller.unhealthy-on-restarting = true
+# Whether the camel-routes health check reports a route as DOWN once all 
restart attempts are used up (default true).
+# When false, the route is reported as UNKNOWN instead
+# camel.routecontroller.unhealthy-on-exhausted = true
+
+#
+# Camel health checks
+#
+# The camel-routes, camel-consumers and registry checks are enabled by 
default. Producer checks are not
+# camel.health.routes-enabled = true
+# camel.health.consumers-enabled = true
+# camel.health.registry-enabled = true
+# camel.health.producers-enabled = false
+# Exclude specific checks by ID or route ID. Multiple patterns can be 
separated by commas and wildcards are supported
+# camel.health.exclude-pattern = timer*
+# The amount of detail in health check responses: default, full or oneline
+# camel.health.exposure-level = full
+
 # Optional hawtio-online support
 quarkus.camel.jolokia.kubernetes.client-principal=cn=hawtio-online.hawtio.svc
 # Uncomment when deploying to Kubernetes or OpenShift. The Jolokia agent binds 
to localhost by default,
diff --git a/pom.xml b/pom.xml
index 9fd8e7ee..eb47435a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,7 +47,6 @@
         <module>fhir</module>
         <module>file-bindy-ftp</module>
         <module>file-split-log-xml</module>
-        <module>health</module>
         <module>http-log</module>
         <module>http-pqc</module>
         <module>jdbc-datasource</module>

Reply via email to