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>