Move examples from
https://github.com/apache/camel-quarkus/tree/fa37a0423c7c3948b98bb33b06bfdb16ad76b0b5/examples
diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..6ccb31b
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,29 @@
+#
+# 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.
+#
+
+github:
+  description: "Apache Camel Quarkus Examples"
+  homepage: https://camel.apache.org
+  labels:
+    - camel
+    - integration
+    - java
+    - quarkus
+  enabled_merge_buttons:
+    merge: false
+    rebase: true
+    squash: true
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+
diff --git a/NOTICE.txt b/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c2de7c9
--- /dev/null
+++ b/README.md
@@ -0,0 +1,8 @@
+# Apache Camel Quarkus Examples
+
+[Apache Camel](http://camel.apache.org/) is a powerful open source integration framework based on known
+Enterprise Integration Patterns with powerful bean integration.
+
+### Introduction
+
+This project provides examples for Apache Camel Quarkus.
diff --git a/file-split-log-xml/README.adoc b/file-split-log-xml/README.adoc
new file mode 100644
index 0000000..fa499de
--- /dev/null
+++ b/file-split-log-xml/README.adoc
@@ -0,0 +1,66 @@
+= file-split-log-xml
+
+This is a basic hello world example that uses XML to set-up a Camel file consumer which reads a file in the resources folder.
+
+It demonstrates the following;
+1. Reading a file using camel file endpoint as a consumer.
+2. Splitting the file by row.
+3. Splitting the row by columns.
+4. Usage of properties in the camel endpoint uri.
+5. No Java code required or used, the XML can still be compiled to native code. Pretty cool.
+
+The file consumer has been marked as non-idempotent thus it will read the same file again using a configurable 30 second delay.
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+Once the application has started it will wait 5 seconds and then read the file every 30 seconds. By default the row split
+is sequential however you can edit the properties file and set the parallel processing to true. The output should then be
+a little more out of order i.e. non-sequential processing of rows.
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+==== JVM mode
+
+[source,shell]
+----
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.570s.
+----
+
+==== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.011s.
+...
+----
diff --git a/file-split-log-xml/pom.xml b/file-split-log-xml/pom.xml
new file mode 100644
index 0000000..012311c
--- /dev/null
+++ b/file-split-log-xml/pom.xml
@@ -0,0 +1,160 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+
+
+    <artifactId>camel-quarkus-examples-file-log-xml</artifactId>
+    <name>Camel Quarkus :: Examples :: File To Log XML DSL</name>
+    <description>Camel Quarkus Example :: File To Log XML DSL</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer</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-xml-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-file</artifactId>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-file-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-xml-io-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <workingDir>${project.basedir}</workingDir>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/file-split-log-xml/src/main/java/org/acme/filereader/DummyClass.java b/file-split-log-xml/src/main/java/org/acme/filereader/DummyClass.java
new file mode 100644
index 0000000..0eef945
--- /dev/null
+++ b/file-split-log-xml/src/main/java/org/acme/filereader/DummyClass.java
@@ -0,0 +1,20 @@
+/*
+ * 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.filereader;
+
+public class DummyClass {
+}
diff --git a/file-split-log-xml/src/main/resources/application.properties b/file-split-log-xml/src/main/resources/application.properties
new file mode 100644
index 0000000..75988ad
--- /dev/null
+++ b/file-split-log-xml/src/main/resources/application.properties
@@ -0,0 +1,31 @@
+## ---------------------------------------------------------------------------
+## 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
+
+quarkus.log.category."org.apache.camel.main".level = DEBUG
+
+#
+# Camel
+#
+camel.context.name = camel-quarkus-xml
+camel.main.xml-routes = file:src/main/resources/routes/camel-routes.xml
+camel.file.route.folder = src/main/resources/file
+camel.file.repeat.interval = 30000
+camel.file.split.parallel = false
\ No newline at end of file
diff --git a/file-split-log-xml/src/main/resources/file/customerlist.csv b/file-split-log-xml/src/main/resources/file/customerlist.csv
new file mode 100644
index 0000000..8db6efa
--- /dev/null
+++ b/file-split-log-xml/src/main/resources/file/customerlist.csv
@@ -0,0 +1,1001 @@
+name,surname
+Michael,SMITH
+James,JOHNSON
+John,WILLIAMS
+Robert,BROWN
+David,JONES
+William,MILLER
+Mary,DAVIS
+Christopher,GARCIA
+Joseph,RODRIGUEZ
+Richard,WILSON
+Daniel,MARTINEZ
+Thomas,ANDERSON
+Matthew,TAYLOR
+Jennifer,THOMAS
+Charles,HERNANDEZ
+Anthony,MOORE
+Patricia,MARTIN
+Linda,JACKSON
+Mark,THOMPSON
+Elizabeth,WHITE
+Joshua,LOPEZ
+Steven,LEE
+Andrew,GONZALEZ
+Kevin,HARRIS
+Brian,CLARK
+Barbara,LEWIS
+Jessica,ROBINSON
+Jason,WALKER
+Susan,PEREZ
+Timothy,HALL
+Paul,YOUNG
+Kenneth,ALLEN
+Lisa,SANCHEZ
+Ryan,WRIGHT
+Sarah,KING
+Karen,SCOTT
+Jeffrey,GREEN
+Donald,BAKER
+Ashley,ADAMS
+Eric,NELSON
+Jacob,HILL
+Nicholas,RAMIREZ
+Jonathan,CAMPBELL
+Ronald,MITCHELL
+Michelle,ROBERTS
+Kimberly,CARTER
+Nancy,PHILLIPS
+Justin,EVANS
+Sandra,TURNER
+Amanda,TORRES
+Brandon,PARKER
+Stephanie,COLLINS
+Emily,EDWARDS
+Melissa,STEWART
+Gary,FLORES
+Edward,MORRIS
+Stephen,NGUYEN
+Scott,MURPHY
+George,RIVERA
+Donna,COOK
+Jose,ROGERS
+Rebecca,MORGAN
+Deborah,PETERSON
+Laura,COOPER
+Cynthia,REED
+Carol,BAILEY
+Amy,BELL
+Margaret,GOMEZ
+Gregory,KELLY
+Sharon,HOWARD
+Larry,WARD
+Angela,COX
+Maria,DIAZ
+Alexander,RICHARDSON
+Benjamin,WOOD
+Nicole,WATSON
+Kathleen,BROOKS
+Patrick,BENNETT
+Samantha,GRAY
+Tyler,JAMES
+Samuel,REYES
+Betty,CRUZ
+Brenda,HUGHES
+Pamela,PRICE
+Aaron,MYERS
+Kelly,LONG
+Heather,FOSTER
+Rachel,SANDERS
+Adam,ROSS
+Christine,MORALES
+Zachary,POWELL
+Debra,SULLIVAN
+Katherine,RUSSELL
+Dennis,ORTIZ
+Nathan,JENKINS
+Christina,GUTIERREZ
+Julie,PERRY
+Jordan,BUTLER
+Kyle,BARNES
+Anna,FISHER
+Michael,HENDERSON
+James,COLEMAN
+John,SIMMONS
+Robert,PATTERSON
+David,JORDAN
+William,REYNOLDS
+Mary,HAMILTON
+Christopher,GRAHAM
+Joseph,KIM
+Richard,GONZALES
+Daniel,ALEXANDER
+Thomas,RAMOS
+Matthew,WALLACE
+Jennifer,GRIFFIN
+Charles,WEST
+Anthony,COLE
+Patricia,HAYES
+Linda,CHAVEZ
+Mark,GIBSON
+Elizabeth,BRYANT
+Joshua,ELLIS
+Steven,STEVENS
+Andrew,MURRAY
+Kevin,FORD
+Brian,MARSHALL
+Barbara,OWENS
+Jessica,MCDONALD
+Jason,HARRISON
+Susan,RUIZ
+Timothy,KENNEDY
+Paul,WELLS
+Kenneth,ALVAREZ
+Lisa,WOODS
+Ryan,MENDOZA
+Sarah,CASTILLO
+Karen,OLSON
+Jeffrey,WEBB
+Donald,WASHINGTON
+Ashley,TUCKER
+Eric,FREEMAN
+Jacob,BURNS
+Nicholas,HENRY
+Jonathan,VASQUEZ
+Ronald,SNYDER
+Michelle,SIMPSON
+Kimberly,CRAWFORD
+Nancy,JIMENEZ
+Justin,PORTER
+Sandra,MASON
+Amanda,SHAW
+Brandon,GORDON
+Stephanie,WAGNER
+Emily,HUNTER
+Melissa,ROMERO
+Gary,HICKS
+Edward,DIXON
+Stephen,HUNT
+Scott,PALMER
+George,ROBERTSON
+Donna,BLACK
+Jose,HOLMES
+Rebecca,STONE
+Deborah,MEYER
+Laura,BOYD
+Cynthia,MILLS
+Carol,WARREN
+Amy,FOX
+Margaret,ROSE
+Gregory,RICE
+Sharon,MORENO
+Larry,SCHMIDT
+Angela,PATEL
+Maria,FERGUSON
+Alexander,NICHOLS
+Benjamin,HERRERA
+Nicole,MEDINA
+Kathleen,RYAN
+Patrick,FERNANDEZ
+Samantha,WEAVER
+Tyler,DANIELS
+Samuel,STEPHENS
+Betty,GARDNER
+Brenda,PAYNE
+Pamela,KELLEY
+Aaron,DUNN
+Kelly,PIERCE
+Heather,ARNOLD
+Rachel,TRAN
+Adam,SPENCER
+Christine,PETERS
+Zachary,HAWKINS
+Debra,GRANT
+Katherine,HANSEN
+Dennis,CASTRO
+Nathan,HOFFMAN
+Christina,HART
+Julie,ELLIOTT
+Jordan,CUNNINGHAM
+Kyle,KNIGHT
+Anna,BRADLEY
+Michael,CARROLL
+James,HUDSON
+John,DUNCAN
+Robert,ARMSTRONG
+David,BERRY
+William,ANDREWS
+Mary,JOHNSTON
+Christopher,RAY
+Joseph,LANE
+Richard,RILEY
+Daniel,CARPENTER
+Thomas,PERKINS
+Matthew,AGUILAR
+Jennifer,SILVA
+Charles,RICHARDS
+Anthony,WILLIS
+Patricia,MATTHEWS
+Linda,CHAPMAN
+Mark,LAWRENCE
+Elizabeth,GARZA
+Joshua,VARGAS
+Steven,WATKINS
+Andrew,WHEELER
+Kevin,LARSON
+Brian,CARLSON
+Barbara,HARPER
+Jessica,GEORGE
+Jason,GREENE
+Susan,BURKE
+Timothy,GUZMAN
+Paul,MORRISON
+Kenneth,MUNOZ
+Lisa,JACOBS
+Ryan,OBRIEN
+Sarah,LAWSON
+Karen,FRANKLIN
+Jeffrey,LYNCH
+Donald,BISHOP
+Ashley,CARR
+Eric,SALAZAR
+Jacob,AUSTIN
+Nicholas,MENDEZ
+Jonathan,GILBERT
+Ronald,JENSEN
+Michelle,WILLIAMSON
+Kimberly,MONTGOMERY
+Nancy,HARVEY
+Justin,OLIVER
+Sandra,HOWELL
+Amanda,DEAN
+Brandon,HANSON
+Stephanie,WEBER
+Emily,GARRETT
+Melissa,SIMS
+Gary,BURTON
+Edward,FULLER
+Stephen,SOTO
+Scott,MCCOY
+George,WELCH
+Donna,CHEN
+Jose,SCHULTZ
+Rebecca,WALTERS
+Deborah,REID
+Laura,FIELDS
+Cynthia,WALSH
+Carol,LITTLE
+Amy,FOWLER
+Margaret,BOWMAN
+Gregory,DAVIDSON
+Sharon,MAY
+Larry,DAY
+Angela,SCHNEIDER
+Maria,NEWMAN
+Alexander,BREWER
+Benjamin,LUCAS
+Nicole,HOLLAND
+Kathleen,WONG
+Patrick,BANKS
+Samantha,SANTOS
+Tyler,CURTIS
+Samuel,PEARSON
+Betty,DELGADO
+Brenda,VALDEZ
+Pamela,PENA
+Aaron,RIOS
+Kelly,DOUGLAS
+Heather,SANDOVAL
+Rachel,BARRETT
+Adam,HOPKINS
+Christine,KELLER
+Zachary,GUERRERO
+Debra,STANLEY
+Katherine,BATES
+Dennis,ALVARADO
+Nathan,BECK
+Christina,ORTEGA
+Julie,WADE
+Jordan,ESTRADA
+Kyle,CONTRERAS
+Anna,BARNETT
+Michael,CALDWELL
+James,SANTIAGO
+John,LAMBERT
+Robert,POWERS
+David,CHAMBERS
+William,NUNEZ
+Mary,CRAIG
+Christopher,LEONARD
+Joseph,LOWE
+Richard,RHODES
+Daniel,BYRD
+Thomas,GREGORY
+Matthew,SHELTON
+Jennifer,FRAZIER
+Charles,BECKER
+Anthony,MALDONADO
+Patricia,FLEMING
+Linda,VEGA
+Mark,SUTTON
+Elizabeth,COHEN
+Joshua,JENNINGS
+Steven,PARKS
+Andrew,MCDANIEL
+Kevin,WATTS
+Brian,BARKER
+Barbara,NORRIS
+Jessica,VAUGHN
+Jason,VAZQUEZ
+Susan,HOLT
+Timothy,SCHWARTZ
+Paul,STEELE
+Kenneth,BENSON
+Lisa,NEAL
+Ryan,DOMINGUEZ
+Sarah,HORTON
+Karen,TERRY
+Jeffrey,WOLFE
+Donald,HALE
+Ashley,LYONS
+Eric,GRAVES
+Jacob,HAYNES
+Nicholas,MILES
+Jonathan,PARK
+Ronald,WARNER
+Michelle,PADILLA
+Kimberly,BUSH
+Nancy,THORNTON
+Justin,MCCARTHY
+Sandra,MANN
+Amanda,ZIMMERMAN
+Brandon,ERICKSON
+Stephanie,FLETCHER
+Emily,MCKINNEY
+Melissa,PAGE
+Gary,DAWSON
+Edward,JOSEPH
+Stephen,MARQUEZ
+Scott,REEVES
+George,KLEIN
+Donna,ESPINOZA
+Jose,BALDWIN
+Rebecca,MORAN
+Deborah,LOVE
+Laura,ROBBINS
+Cynthia,HIGGINS
+Carol,BALL
+Amy,CORTEZ
+Margaret,LE
+Gregory,GRIFFITH
+Sharon,BOWEN
+Larry,SHARP
+Angela,CUMMINGS
+Maria,RAMSEY
+Alexander,HARDY
+Benjamin,SWANSON
+Nicole,BARBER
+Kathleen,ACOSTA
+Patrick,LUNA
+Samantha,CHANDLER
+Tyler,BLAIR
+Samuel,DANIEL
+Betty,CROSS
+Brenda,SIMON
+Pamela,DENNIS
+Aaron,OCONNOR
+Kelly,QUINN
+Heather,GROSS
+Rachel,NAVARRO
+Adam,MOSS
+Christine,FITZGERALD
+Zachary,DOYLE
+Debra,MCLAUGHLIN
+Katherine,ROJAS
+Dennis,RODGERS
+Nathan,STEVENSON
+Christina,SINGH
+Julie,YANG
+Jordan,FIGUEROA
+Kyle,HARMON
+Anna,NEWTON
+Michael,PAUL
+James,MANNING
+John,GARNER
+Robert,MCGEE
+David,REESE
+William,FRANCIS
+Mary,BURGESS
+Christopher,ADKINS
+Joseph,GOODMAN
+Richard,CURRY
+Daniel,BRADY
+Thomas,CHRISTENSEN
+Matthew,POTTER
+Jennifer,WALTON
+Charles,GOODWIN
+Anthony,MULLINS
+Patricia,MOLINA
+Linda,WEBSTER
+Mark,FISCHER
+Elizabeth,CAMPOS
+Joshua,AVILA
+Steven,SHERMAN
+Andrew,TODD
+Kevin,CHANG
+Brian,BLAKE
+Barbara,MALONE
+Jessica,WOLF
+Jason,HODGES
+Susan,JUAREZ
+Timothy,GILL
+Paul,FARMER
+Kenneth,HINES
+Lisa,GALLAGHER
+Ryan,DURAN
+Sarah,HUBBARD
+Karen,CANNON
+Jeffrey,MIRANDA
+Donald,WANG
+Ashley,SAUNDERS
+Eric,TATE
+Jacob,MACK
+Nicholas,HAMMOND
+Jonathan,CARRILLO
+Ronald,TOWNSEND
+Michelle,WISE
+Kimberly,INGRAM
+Nancy,BARTON
+Justin,MEJIA
+Sandra,AYALA
+Amanda,SCHROEDER
+Brandon,HAMPTON
+Stephanie,ROWE
+Emily,PARSONS
+Melissa,FRANK
+Gary,WATERS
+Edward,STRICKLAND
+Stephen,OSBORNE
+Scott,MAXWELL
+George,CHAN
+Donna,DELEON
+Jose,NORMAN
+Rebecca,HARRINGTON
+Deborah,CASEY
+Laura,PATTON
+Cynthia,LOGAN
+Carol,BOWERS
+Amy,MUELLER
+Margaret,GLOVER
+Gregory,FLOYD
+Sharon,HARTMAN
+Larry,BUCHANAN
+Angela,COBB
+Maria,FRENCH
+Alexander,KRAMER
+Benjamin,MCCORMICK
+Nicole,CLARKE
+Kathleen,TYLER
+Patrick,GIBBS
+Samantha,MOODY
+Tyler,CONNER
+Samuel,SPARKS
+Betty,MCGUIRE
+Brenda,LEON
+Pamela,BAUER
+Aaron,NORTON
+Kelly,POPE
+Heather,FLYNN
+Rachel,HOGAN
+Adam,ROBLES
+Christine,SALINAS
+Zachary,YATES
+Debra,LINDSEY
+Katherine,LLOYD
+Dennis,MARSH
+Nathan,MCBRIDE
+Christina,OWEN
+Julie,SOLIS
+Jordan,PHAM
+Kyle,LANG
+Anna,PRATT
+Michael,LARA
+James,BROCK
+John,BALLARD
+Robert,TRUJILLO
+David,SHAFFER
+William,DRAKE
+Mary,ROMAN
+Christopher,AGUIRRE
+Joseph,MORTON
+Richard,STOKES
+Daniel,LAMB
+Thomas,PACHECO
+Matthew,PATRICK
+Jennifer,COCHRAN
+Charles,SHEPHERD
+Anthony,CAIN
+Patricia,BURNETT
+Linda,HESS
+Mark,LI
+Elizabeth,CERVANTES
+Joshua,OLSEN
+Steven,BRIGGS
+Andrew,OCHOA
+Kevin,CABRERA
+Brian,VELASQUEZ
+Barbara,MONTOYA
+Jessica,ROTH
+Jason,MEYERS
+Susan,CARDENAS
+Timothy,FUENTES
+Paul,WEISS
+Kenneth,HOOVER
+Lisa,WILKINS
+Ryan,NICHOLSON
+Sarah,UNDERWOOD
+Karen,SHORT
+Jeffrey,CARSON
+Donald,MORROW
+Ashley,COLON
+Eric,HOLLOWAY
+Jacob,SUMMERS
+Nicholas,BRYAN
+Jonathan,PETERSEN
+Ronald,MCKENZIE
+Michelle,SERRANO
+Kimberly,WILCOX
+Nancy,CAREY
+Justin,CLAYTON
+Sandra,POOLE
+Amanda,CALDERON
+Brandon,GALLEGOS
+Stephanie,GREER
+Emily,RIVAS
+Melissa,GUERRA
+Gary,DECKER
+Edward,COLLIER
+Stephen,WALL
+Scott,WHITAKER
+George,BASS
+Donna,FLOWERS
+Jose,DAVENPORT
+Rebecca,CONLEY
+Deborah,HOUSTON
+Laura,HUFF
+Cynthia,COPELAND
+Carol,HOOD
+Amy,MONROE
+Margaret,MASSEY
+Gregory,ROBERSON
+Sharon,COMBS
+Larry,FRANCO
+Angela,LARSEN
+Maria,PITTMAN
+Alexander,RANDALL
+Benjamin,SKINNER
+Nicole,WILKINSON
+Kathleen,KIRBY
+Patrick,CAMERON
+Samantha,BRIDGES
+Tyler,ANTHONY
+Samuel,RICHARD
+Betty,KIRK
+Brenda,BRUCE
+Pamela,SINGLETON
+Aaron,MATHIS
+Kelly,BRADFORD
+Heather,BOONE
+Rachel,ABBOTT
+Adam,CHARLES
+Christine,ALLISON
+Zachary,SWEENEY
+Debra,ATKINSON
+Katherine,HORN
+Dennis,JEFFERSON
+Nathan,ROSALES
+Christina,YORK
+Julie,CHRISTIAN
+Jordan,PHELPS
+Kyle,FARRELL
+Anna,CASTANEDA
+Michael,NASH
+James,DICKERSON
+John,BOND
+Robert,WYATT
+David,FOLEY
+William,CHASE
+Mary,GATES
+Christopher,VINCENT
+Joseph,MATHEWS
+Richard,HODGE
+Daniel,GARRISON
+Thomas,TREVINO
+Matthew,VILLARREAL
+Jennifer,HEATH
+Charles,DALTON
+Anthony,VALENCIA
+Patricia,CALLAHAN
+Linda,HENSLEY
+Mark,ATKINS
+Elizabeth,HUFFMAN
+Joshua,ROY
+Steven,BOYER
+Andrew,SHIELDS
+Kevin,LIN
+Brian,HANCOCK
+Barbara,GRIMES
+Jessica,GLENN
+Jason,CLINE
+Susan,DELACRUZ
+Timothy,CAMACHO
+Paul,DILLON
+Kenneth,PARRISH
+Lisa,ONEILL
+Ryan,MELTON
+Sarah,BOOTH
+Karen,KANE
+Jeffrey,BERG
+Donald,HARRELL
+Ashley,PITTS
+Eric,SAVAGE
+Jacob,WIGGINS
+Nicholas,BRENNAN
+Jonathan,SALAS
+Ronald,MARKS
+Michelle,RUSSO
+Kimberly,SAWYER
+Nancy,BAXTER
+Justin,GOLDEN
+Sandra,HUTCHINSON
+Amanda,LIU
+Brandon,WALTER
+Stephanie,MCDOWELL
+Emily,WILEY
+Melissa,RICH
+Gary,HUMPHREY
+Edward,JOHNS
+Stephen,KOCH
+Scott,SUAREZ
+George,HOBBS
+Donna,BEARD
+Jose,GILMORE
+Rebecca,IBARRA
+Deborah,KEITH
+Laura,MACIAS
+Cynthia,KHAN
+Carol,ANDRADE
+Amy,WARE
+Margaret,STEPHENSON
+Gregory,HENSON
+Sharon,WILKERSON
+Larry,DYER
+Angela,MCCLURE
+Maria,BLACKWELL
+Alexander,MERCADO
+Benjamin,TANNER
+Nicole,EATON
+Kathleen,CLAY
+Patrick,BARRON
+Samantha,BEASLEY
+Tyler,ONEAL
+Samuel,PRESTON
+Betty,SMALL
+Brenda,WU
+Pamela,ZAMORA
+Aaron,MACDONALD
+Kelly,VANCE
+Heather,SNOW
+Rachel,MCCLAIN
+Adam,STAFFORD
+Christine,OROZCO
+Zachary,BARRY
+Debra,ENGLISH
+Katherine,SHANNON
+Dennis,KLINE
+Nathan,JACOBSON
+Christina,WOODARD
+Julie,HUANG
+Jordan,KEMP
+Kyle,MOSLEY
+Anna,PRINCE
+Michael,MERRITT
+James,HURST
+John,VILLANUEVA
+Robert,ROACH
+David,NOLAN
+William,LAM
+Mary,YODER
+Christopher,MCCULLOUGH
+Joseph,LESTER
+Richard,SANTANA
+Daniel,VALENZUELA
+Thomas,WINTERS
+Matthew,BARRERA
+Jennifer,LEACH
+Charles,ORR
+Anthony,BERGER
+Patricia,MCKEE
+Linda,STRONG
+Mark,CONWAY
+Elizabeth,STEIN
+Joshua,WHITEHEAD
+Steven,BULLOCK
+Andrew,ESCOBAR
+Kevin,KNOX
+Brian,MEADOWS
+Barbara,SOLOMON
+Jessica,VELEZ
+Jason,ODONNELL
+Susan,KERR
+Timothy,STOUT
+Paul,BLANKENSHIP
+Kenneth,BROWNING
+Lisa,KENT
+Ryan,LOZANO
+Sarah,BARTLETT
+Karen,PRUITT
+Jeffrey,BUCK
+Donald,BARR
+Ashley,GAINES
+Eric,DURHAM
+Jacob,GENTRY
+Nicholas,MCINTYRE
+Jonathan,SLOAN
+Ronald,ROCHA
+Michelle,MELENDEZ
+Kimberly,HERMAN
+Nancy,SEXTON
+Justin,MOON
+Sandra,HENDRICKS
+Amanda,RANGEL
+Brandon,STARK
+Stephanie,LOWERY
+Emily,HARDIN
+Melissa,HULL
+Gary,SELLERS
+Edward,ELLISON
+Stephen,CALHOUN
+Scott,GILLESPIE
+George,MORA
+Donna,KNAPP
+Jose,MCCALL
+Rebecca,MORSE
+Deborah,DORSEY
+Laura,WEEKS
+Cynthia,NIELSEN
+Carol,LIVINGSTON
+Amy,LEBLANC
+Margaret,MCLEAN
+Gregory,BRADSHAW
+Sharon,GLASS
+Larry,MIDDLETON
+Angela,BUCKLEY
+Maria,SCHAEFER
+Alexander,FROST
+Benjamin,HOWE
+Nicole,HOUSE
+Kathleen,MCINTOSH
+Patrick,HO
+Samantha,PENNINGTON
+Tyler,REILLY
+Samuel,HEBERT
+Betty,MCFARLAND
+Brenda,HICKMAN
+Pamela,NOBLE
+Aaron,SPEARS
+Kelly,CONRAD
+Heather,ARIAS
+Rachel,GALVAN
+Adam,VELAZQUEZ
+Christine,HUYNH
+Zachary,FREDERICK
+Debra,RANDOLPH
+Katherine,CANTU
+Dennis,FITZPATRICK
+Nathan,MAHONEY
+Christina,PECK
+Julie,VILLA
+Jordan,MICHAEL
+Kyle,DONOVAN
+Anna,MCCONNELL
+Michael,WALLS
+James,BOYLE
+John,MAYER
+Robert,ZUNIGA
+David,GILES
+William,PINEDA
+Mary,PACE
+Christopher,HURLEY
+Joseph,MAYS
+Richard,MCMILLAN
+Daniel,CROSBY
+Thomas,AYERS
+Matthew,CASE
+Jennifer,BENTLEY
+Charles,SHEPARD
+Anthony,EVERETT
+Patricia,PUGH
+Linda,DAVID
+Mark,MCMAHON
+Elizabeth,DUNLAP
+Joshua,BENDER
+Steven,HAHN
+Andrew,HARDING
+Kevin,ACEVEDO
+Brian,RAYMOND
+Barbara,BLACKBURN
+Jessica,DUFFY
+Jason,LANDRY
+Susan,DOUGHERTY
+Timothy,BAUTISTA
+Paul,SHAH
+Kenneth,POTTS
+Lisa,ARROYO
+Ryan,VALENTINE
+Sarah,MEZA
+Karen,GOULD
+Jeffrey,VAUGHAN
+Donald,FRY
+Ashley,RUSH
+Eric,AVERY
+Jacob,HERRING
+Nicholas,DODSON
+Jonathan,CLEMENTS
+Ronald,SAMPSON
+Michelle,TAPIA
+Kimberly,BEAN
+Nancy,LYNN
+Justin,CRANE
+Sandra,FARLEY
+Amanda,CISNEROS
+Brandon,BENTON
+Stephanie,ASHLEY
+Emily,MCKAY
+Melissa,FINLEY
+Gary,BEST
+Edward,BLEVINS
+Stephen,FRIEDMAN
+Scott,MOSES
+George,SOSA
+Donna,BLANCHARD
+Jose,HUBER
+Rebecca,FRYE
+Deborah,KRUEGER
+Laura,BERNARD
+Cynthia,ROSARIO
+Carol,RUBIO
+Amy,MULLEN
+Margaret,BENJAMIN
+Gregory,HALEY
+Sharon,CHUNG
+Larry,MOYER
+Angela,CHOI
+Maria,HORNE
+Alexander,YU
+Benjamin,WOODWARD
+Nicole,ALI
+Kathleen,NIXON
+Patrick,HAYDEN
+Samantha,RIVERS
+Tyler,ESTES
+Samuel,MCCARTY
+Betty,RICHMOND
+Brenda,STUART
+Pamela,MAYNARD
+Aaron,BRANDT
+Kelly,OCONNELL
+Heather,HANNA
+Rachel,SANFORD
+Adam,SHEPPARD
+Christine,CHURCH
+Zachary,BURCH
+Debra,LEVY
+Katherine,RASMUSSEN
+Dennis,COFFEY
+Nathan,PONCE
+Christina,FAULKNER
+Julie,DONALDSON
+Jordan,SCHMITT
+Kyle,NOVAK
+Anna,COSTA
+Michael,MONTES
+James,BOOKER
+John,CORDOVA
+Robert,WALLER
+David,ARELLANO
+William,MADDOX
+Mary,MATA
+Christopher,BONILLA
+Joseph,STANTON
+Richard,COMPTON
+Daniel,KAUFMAN
+Thomas,DUDLEY
+Matthew,MCPHERSON
+Jennifer,BELTRAN
+Charles,DICKSON
+Anthony,MCCANN
+Patricia,VILLEGAS
+Linda,PROCTOR
+Mark,HESTER
+Elizabeth,CANTRELL
+Joshua,DAUGHERTY
+Steven,CHERRY
+Andrew,BRAY
+Kevin,DAVILA
+Brian,ROWLAND
+Barbara,LEVINE
+Jessica,MADDEN
+Jason,SPENCE
+Susan,GOOD
+Timothy,IRWIN
+Paul,WERNER
+Kenneth,KRAUSE
+Lisa,PETTY
+Ryan,WHITNEY
+Sarah,BAIRD
+Karen,HOOPER
+Jeffrey,POLLARD
+Donald,ZAVALA
+Ashley,JARVIS
+Eric,HOLDEN
+Jacob,HAAS
+Nicholas,HENDRIX
+Jonathan,MCGRATH
+Ronald,BIRD
+Michelle,LUCERO
+Kimberly,TERRELL
+Nancy,RIGGS
+Justin,JOYCE
+Sandra,MERCER
+Amanda,ROLLINS
+Brandon,GALLOWAY
+Stephanie,DUKE
+Emily,ODOM
+Melissa,ANDERSEN
+Gary,DOWNS
+Edward,HATFIELD
+Stephen,BENITEZ
+Scott,ARCHER
+George,HUERTA
+Donna,TRAVIS
+Jose,MCNEIL
+Rebecca,HINTON
+Deborah,ZHANG
+Laura,HAYS
+Cynthia,MAYO
+Carol,FRITZ
+Amy,BRANCH
+Margaret,MOONEY
+Gregory,EWING
+Sharon,RITTER
+Larry,ESPARZA
+Angela,FREY
+Maria,BRAUN
+Alexander,GAY
+Benjamin,RIDDLE
+Nicole,HANEY
+Kathleen,KAISER
+Patrick,HOLDER
+Samantha,CHANEY
+Tyler,MCKNIGHT
+Samuel,GAMBLE
+Betty,VANG
+Brenda,COOLEY
+Pamela,CARNEY
+Aaron,COWAN
+Kelly,FORBES
+Heather,FERRELL
+Rachel,DAVIES
+Adam,BARAJAS
+Christine,SHEA
+Zachary,OSBORN
+Debra,BRIGHT
+Katherine,CUEVAS
+Dennis,BOLTON
+Nathan,MURILLO
+Christina,LUTZ
+Julie,DUARTE
+Jordan,KIDD
+Kyle,KEY
+Anna,COOKE
diff --git a/file-split-log-xml/src/main/resources/routes/camel-routes.xml b/file-split-log-xml/src/main/resources/routes/camel-routes.xml
new file mode 100644
index 0000000..c98e7b6
--- /dev/null
+++ b/file-split-log-xml/src/main/resources/routes/camel-routes.xml
@@ -0,0 +1,47 @@
+<?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.
+
+-->
+
+<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xmlns="http://camel.apache.org/schema/spring"
+        xsi:schemaLocation="
+            http://camel.apache.org/schema/spring
+            http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+    <route id="file-xml-route">
+        <from uri="file:{{camel.file.route.folder}}?noop=true&amp;delay={{camel.file.repeat.interval}}&amp;idempotent=false&amp;initialDelay=5000"/>
+        <split parallelProcessing="{{camel.file.split.parallel}}">
+            <tokenize token="\n"/>
+            <log message="line ${headers.CamelSplitIndex} contains: ${body}"/>
+            <split>
+                <tokenize token=","/>
+                <choice>
+                    <when>
+                        <simple>${headers.CamelSplitIndex} == 0</simple>
+                        <log message="Name is: ${body}"/>
+                    </when>
+                    <otherwise>
+                        <log message="Surname is: ${body}"/>
+                    </otherwise>
+                </choice>
+            </split>
+        </split>
+    </route>
+
+</routes>
\ No newline at end of file
diff --git a/health/README.adoc b/health/README.adoc
new file mode 100644
index 0000000..d61bc6b
--- /dev/null
+++ b/health/README.adoc
@@ -0,0 +1,79 @@
+== Camel Quarkus Example Health
+
+This example shows how to use Camel health-check with Quarkus.
+The example shows how you can build custom health-checks and have
+them automatic discovered by Camel and used as parts of its health-check system.
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+The example has two routes. The timer route performs a given task at regular interval. For the sake of this example we'll say
+that this task unexpectedly freezes the service from time to time. The details can be consulted at http://localhost:8080/health. 
+The custom health check is expected to report UNKNOWN on first consultation, then UP during 10 seconds, and finally DOWN so as to
+simulate that the service is frozen.
+
+The 2nd route is on purpose made to fail on startup by configuring netty to an unknown host.
+Camel supervising route controller will attempt to restart the route up till 10 times before exhausting.
+The routes health check will therefore report this route as DOWN until its exhausted where the states are changed to UNKNOWN.
+
+The details can be seen at runtime via the following url from a web browser: http://localhost:8080/health.
+
+=== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+You can check the health check status by calling the following url from a web browser: http://localhost:8080/health
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+=== JVM mode
+
+[source,shell]
+----
+
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.885s. Listening on: http://0.0.0.0:8080
+----
+
+=== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.026s. Listening on: http://0.0.0.0:8080
+...
+----
+
+=== Help and contributions
+
+If you hit any problem using Camel or have some feedback, then please
+https://camel.apache.org/support.html[let us know].
+
+We also love contributors, so
+https://camel.apache.org/contributing.html[get involved] :-)
+
+The Camel riders!
+
diff --git a/health/pom.xml b/health/pom.xml
new file mode 100644
index 0000000..de99063
--- /dev/null
+++ b/health/pom.xml
@@ -0,0 +1,177 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-health</artifactId>
+    <name>Camel Quarkus :: Examples :: Health</name>
+    <description>Camel Quarkus Example :: Health Check</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</artifactId>
+        </dependency>
+
+        <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-main</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>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-microprofile-health</artifactId>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-bean-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-microprofile-health-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-netty-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+        </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
new file mode 100644
index 0000000..11dc4aa
--- /dev/null
+++ b/health/src/main/java/org/acme/health/MyRouteBuilder.java
@@ -0,0 +1,32 @@
+/*
+ * 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
new file mode 100644
index 0000000..db187d6
--- /dev/null
+++ b/health/src/main/java/org/acme/health/RunTooLongHealthCheck.java
@@ -0,0 +1,56 @@
+/*
+ * 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;
+    }
+}
diff --git a/health/src/main/resources/application.properties b/health/src/main/resources/application.properties
new file mode 100644
index 0000000..f6ab0d7
--- /dev/null
+++ b/health/src/main/resources/application.properties
@@ -0,0 +1,77 @@
+## ---------------------------------------------------------------------------
+## 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
+
+# extended runtime statistics about bean introspection usage (java reflection)
+camel.main.bean-introspection-extended-statistics=true
+camel.main.bean-introspection-logging-level=INFO
+
+# enable supervised route controller which will startup routes in safe manner
+camel.main.route-controller-supervise-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.main.route-controller-back-off-max-attempts = 10
+# when starting a route (and restarts) fails all attempts
+# then we can control whether the route should be influence 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.main.route-controller-unhealthy-on-exhausted = true
+
+# enable health check (is automatic enabled if discovered on classpath)
+# global flag to enable/disable
+camel.health.enabled = true
+# context check is default included but we can turn it on|off
+camel.health.context-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.heath.config[timer].parent = routes
+### camel.heath.config[timer].enabled = true
+### camel.heath.config[netty].check = routes
+### camel.heath.config[netty].enabled = false
+
+# and configure each individually
+camel.health.config[timer].parent = routes
+camel.health.config[timer].interval = 5s
+camel.health.config[netty].parent = routes
+camel.health.config[netty].interval = 20s
+camel.health.config[netty].failure-threshold = 10
+
+# find grained routes configuration per route (support wildcards)
+# (enabled is default true for discovered health-checks)
+### camel.health.config[*].enabled = true
+
+# allow 5 failures with 10s apart as slack to handle routes being flaky
+# however if after 5 failures then the state will be regarded as DOWN onwards
+# (the route can recover and the state will then be UP)
+###camel.health.config[*].parent = routes
+###camel.health.config[*].interval = 10s
+###camel.health.config[*].failure-threshold = 5
+
+# properties used in the route
+myPeriod = 10s
diff --git a/http-log/README.adoc b/http-log/README.adoc
new file mode 100644
index 0000000..15baf95
--- /dev/null
+++ b/http-log/README.adoc
@@ -0,0 +1,111 @@
+= http-log
+
+This is a basic hello world example that uses CDI and JAX-RS to setup
+a Quarkus REST service and a Camel route to service HTTP traffic.
+
+The Quarkus REST service `ExampleResource.java` and the Camel route `CamelRoute.java`
+are independent and are present in this example to demonstrate how you can build microservices
+with both Quarkus and Camel separated.
+
+You can of course also combine Quarkus REST services with Camel (see further below).
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+This example was used in a 10 minute video recording to demonstrate
+how to quickly run 100 Camels with Apache Camel, Quarkus and GraalVM:
+
+- https://www.youtube.com/watch?v=4lXSf8DBQkQ
+
+
+== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+From a web browser, you can call the two services via
+
+- http://localhost:8080/hello
+- http://localhost:8080/camel/hello
+
+There is also health check and metrics available from the following urls:
+
+- http://localhost:8080/health
+- http://localhost:8080/metrics
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+==== JVM mode
+
+[source,shell]
+----
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 1.163s. Listening on: http://0.0.0.0:8080
+----
+
+==== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.013s. Listening on: http://0.0.0.0:8080
+...
+----
+
+== Using Camel from Quarkus JAX-RS
+
+The `ExampleResource.java` is a pure JAX-RS REST service without using Camel.
+Suppose you wanted to add a HTTP POST that sends the HTTP body to a Kafka topic,
+via the camel-kafka component. You can then integrate Quarkus
+with Camel by dependency injecting Camels `FluentProducerTemplate` that allows to
+send the message in one line of code to Kafka. What's left is to configure the URL to the Kafka brokers,
+which can be done in the `application.properties` file.
+
+[source,java]
+----
+import org.apache.camel.FluentProducerTemplate;
+import org.jboss.resteasy.annotations.Body;
+import javax.inject.Inject;
+import javax.ws.rs.Consumes;
+
+@Path("/hello")
+public class ExampleResource {
+
+    @Inject
+    FluentProducerTemplate producer;
+
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public String hello() {
+        return "hello";
+    }
+
+    @POST
+    @Consumes(MediaType.TEXT_PLAIN)
+    public void foo(@Body String payload) {
+        producer.to("kafka:foo").send(payload);
+    }
+}
+----
diff --git a/http-log/pom.xml b/http-log/pom.xml
new file mode 100644
index 0000000..c406e10
--- /dev/null
+++ b/http-log/pom.xml
@@ -0,0 +1,160 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-http-log</artifactId>
+    <name>Camel Quarkus :: Examples :: HTTP Log</name>
+    <description>Camel Quarkus Example :: HTTP to Log</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-platform-http</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-microprofile-health</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-microprofile-metrics</artifactId>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-microprofile-health-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-microprofile-metrics-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-platform-http-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/http-log/rss-memory.sh b/http-log/rss-memory.sh
new file mode 100755
index 0000000..e8db116
--- /dev/null
+++ b/http-log/rss-memory.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# 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.
+#
+
+# script to aggregate the total RSS memory used by the processes in MB.
+# the script includes itself so that adds about 2mb extra in total memory.
+# the script is a bit hackish and improvements is welcome.
+ps -o rss -o command | grep $1 | awk '{print $1}' | head -n 100 | awk '{sum+=$1/1024}END{print sum}'
diff --git a/http-log/run-many.sh b/http-log/run-many.sh
new file mode 100755
index 0000000..b1f0c68
--- /dev/null
+++ b/http-log/run-many.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+# 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.
+#
+
+# script to quickly run 100 instances of the native compiled example
+# using http port numbers from 8000 - 8100
+# you can then try each instance by its number such as:
+#   http://localhost:8012/camel/hello
+#
+# to kill all instances at once, you can use pkill command:
+#   pkill camel-quarkus
+#
+for i in $(seq 8000 8100); do
+  QUARKUS_HTTP_PORT=$i ./target/camel-quarkus-examples-http-log-*-runner > http-log-$i.log &
+done
\ No newline at end of file
diff --git a/http-log/src/main/java/org/acme/http/CamelRoute.java b/http-log/src/main/java/org/acme/http/CamelRoute.java
new file mode 100644
index 0000000..c456f6f
--- /dev/null
+++ b/http-log/src/main/java/org/acme/http/CamelRoute.java
@@ -0,0 +1,32 @@
+/*
+ * 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.http;
+
+import javax.enterprise.context.ApplicationScoped;
+
+import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
+
+@ApplicationScoped
+public class CamelRoute extends EndpointRouteBuilder {
+
+    @Override
+    public void configure() throws Exception {
+        from(platformHttp("/camel/hello"))
+                .setBody().simple("Camel runs on ${hostname}")
+                .to(log("hi").showExchangePattern(false).showBodyType(false));
+    }
+}
diff --git a/http-log/src/main/java/org/acme/http/ExampleResource.java b/http-log/src/main/java/org/acme/http/ExampleResource.java
new file mode 100644
index 0000000..4d71ac1
--- /dev/null
+++ b/http-log/src/main/java/org/acme/http/ExampleResource.java
@@ -0,0 +1,32 @@
+/*
+ * 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.http;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+@Path("/hello")
+public class ExampleResource {
+
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public String hello() {
+        return "hello";
+    }
+}
diff --git a/http-log/src/main/resources/META-INF/resources/index.html b/http-log/src/main/resources/META-INF/resources/index.html
new file mode 100644
index 0000000..cb44c76
--- /dev/null
+++ b/http-log/src/main/resources/META-INF/resources/index.html
@@ -0,0 +1,170 @@
+<!--
+
+    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.
+
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>code-with-quarkus - 1.0.0-SNAPSHOT</title>
+    <style>
+        h1, h2, h3, h4, h5, h6 {
+            margin-bottom: 0.5rem;
+            font-weight: 400;
+            line-height: 1.5;
+        }
+
+        h1 {
+            font-size: 2.5rem;
+        }
+
+        h2 {
+            font-size: 2rem
+        }
+
+        h3 {
+            font-size: 1.75rem
+        }
+
+        h4 {
+            font-size: 1.5rem
+        }
+
+        h5 {
+            font-size: 1.25rem
+        }
+
+        h6 {
+            font-size: 1rem
+        }
+
+        .lead {
+            font-weight: 300;
+            font-size: 2rem;
+        }
+
+        .banner {
+            font-size: 2.7rem;
+            margin: 0;
+            padding: 2rem 1rem;
+            background-color: #00A1E2;
+            color: white;
+        }
+
+        body {
+            margin: 0;
+            font-family: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+        }
+
+        code {
+            font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+            font-size: 87.5%;
+            color: #e83e8c;
+            word-break: break-word;
+        }
+
+        .left-column {
+            padding: .75rem;
+            max-width: 75%;
+            min-width: 55%;
+        }
+
+        .right-column {
+            padding: .75rem;
+            max-width: 25%;
+        }
+
+        .container {
+            display: flex;
+            width: 100%;
+        }
+
+        li {
+            margin: 0.75rem;
+        }
+
+        .right-section {
+            margin-left: 1rem;
+            padding-left: 0.5rem;
+        }
+
+        .right-section h3 {
+            padding-top: 0;
+            font-weight: 200;
+        }
+
+        .right-section ul {
+            border-left: 0.3rem solid #00A1E2;
+            list-style-type: none;
+            padding-left: 0;
+        }
+
+    </style>
+</head>
+<body>
+
+<div class="banner lead">
+    Your new Cloud-Native application is ready!
+</div>
+
+<div class="container">
+    <div class="left-column">
+        <p class="lead"> Congratulations, you have created a new Quarkus application.</p>
+
+        <h2>Why do you see this?</h2>
+
+        <p>This page is served by Quarkus. The source is in
+            <code>src/main/resources/META-INF/resources/index.html</code>.</p>
+
+        <h2>What can I do from here?</h2>
+
+        <p>If not already done, run the application in <em>dev mode</em> using: <code>mvn compile quarkus:dev</code>.
+        </p>
+        <ul>
+            <li>Add REST resources, Servlets, functions and other services in <code>src/main/java</code>.</li>
+            <li>Your static assets are located in <code>src/main/resources/META-INF/resources</code>.</li>
+            <li>Configure your application in <code>src/main/resources/application.properties</code>.
+            </li>
+        </ul>
+
+        <h2>How do I get rid of this page?</h2>
+        <p>Just delete the <code>src/main/resources/META-INF/resources/index.html</code> file.</p>
+    </div>
+    <div class="right-column">
+        <div class="right-section">
+            <h3>Application</h3>
+            <ul>
+                <li>GroupId: org.apache.camel.quarkus</li>
+                <li>ArtifactId: http-log</li>
+                <li>Version: 1.0.0-SNAPSHOT</li>
+                <li>Quarkus Version: 1.3.2.Final</li>
+            </ul>
+        </div>
+        <div class="right-section">
+            <h3>Next steps</h3>
+            <ul>
+                <li><a href="https://quarkus.io/guides/maven-tooling.html" target="_blank">Setup your IDE</a></li>
+                <li><a href="https://quarkus.io/guides/getting-started.html" target="_blank">Getting started</a></li>
+                <li><a href="https://quarkus.io" target="_blank">Quarkus Web Site</a></li>
+            </ul>
+        </div>
+    </div>
+</div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/http-log/src/main/resources/application.properties b/http-log/src/main/resources/application.properties
new file mode 100644
index 0000000..1d0efa7
--- /dev/null
+++ b/http-log/src/main/resources/application.properties
@@ -0,0 +1,37 @@
+## ---------------------------------------------------------------------------
+## 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
+
+#
+# Quarkus - Camel
+#
+
+# to turn on or off health check
+quarkus.camel.health.enabled = true
+
+# bean introspection to log reflection based configuration
+camel.main.beanIntrospectionExtendedStatistics = true
+camel.main.beanIntrospectionLoggingLevel = INFO
+
+#
+# Camel
+#
+camel.context.name = quarkus-camel-example-http-log
+
diff --git a/observability/README.adoc b/observability/README.adoc
new file mode 100644
index 0000000..d3ef123
--- /dev/null
+++ b/observability/README.adoc
@@ -0,0 +1,111 @@
+= Camel Quarkus Observability
+
+This example project demonstrates how to add support for metrics, health checks and distributed tracing.
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+
+=== Metrics endpoint
+
+Metrics are exposed on an HTTP endpoint at `/metrics`. You can also browse application specific metrics from the `/metrics/application` endpoint.
+
+To view all Camel metrics do:
+
+[source,shell]
+----
+$ curl localhost:8080/metrics/application
+----
+
+To pick out specific metrics you can either use `grep` or the `https://stedolan.github.io/jq/[jq]` library :
+
+[source,shell]
+----
+$ curl -s -H"Accept: application/json" localhost:8080/metrics/application \
+    | jq '.["camel.context.exchanges.completed.total;camelContext=camel-quarkus-observability"]'
+----
+
+=== Health endpoint
+
+Camel provides some out of the box liveness and readiness checks. To see this working, interrogate the `/health/live` and `/health/ready` endpoints:
+
+[source,shell]
+----
+$ curl -s localhost:8080/health/live
+----
+
+[source,shell]
+----
+$ curl -s localhost:8080/health/ready
+----
+
+The JSON output will contain a check named 'camel' for verifying whether the `CamelContext` is in the 'Started' state and another check to verify whether each individual route is in the 'Started' state.
+
+This example project contains a custom liveness check class `CustomLivenessCheck` and custom readiness check class `CustomReadinessCheck` which leverage the Camel health API.
+You'll see these listed in the health JSON as 'custom-liveness-check' and 'custom-readiness-check'. On every 5th invocation of these checks, the health status will be reported as DOWN.
+
+You can also directly leverage MicroProfile Metrics APIs to create checks. Class `CamelUptimeHealthCheck` demonstrates how to register a readiness check.
+
+==== Tracing
+
+The tracing configuration for the application can be found within `application.properties`.
+
+To view tracing events, start a Jaeger tracing server. A simple way of doing this is with Docker:
+
+[source,shell]
+----
+$ docker run -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 \
+    -p 16686:16686 -p 14268:14268 -p 9411:9411 jaegertracing/all-in-one:latest
+----
+
+With the server running, browse to http://localhost:16686. Then choose 'greetings-service' from the 'Service' drop down and click the 'Find Traces' button.
+
+The `netty-http` consumer route introduces a random delay to simulate latency, hence the overall time of each trace should be different. When viewing a trace, you should see
+a hierarchy of 3 spans showing the progression of the message exchange through each endpoint.
+
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+==== JVM mode
+
+[source,shell]
+----
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 1.163s. Listening on: http://0.0.0.0:8080
+----
+
+==== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.013s. Listening on: http://0.0.0.0:8080
+...
+----
diff --git a/observability/pom.xml b/observability/pom.xml
new file mode 100644
index 0000000..7dd60a7
--- /dev/null
+++ b/observability/pom.xml
@@ -0,0 +1,204 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-observability</artifactId>
+    <name>Camel Quarkus :: Examples :: Observability</name>
+    <description>Camel Quarkus Example :: Observability</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-netty-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-microprofile-health</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-microprofile-metrics</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-opentracing</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</artifactId>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-microprofile-health-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-microprofile-metrics-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-netty-http-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-opentracing-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </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/observability/src/main/java/org/acme/observability/Routes.java b/observability/src/main/java/org/acme/observability/Routes.java
new file mode 100644
index 0000000..8f1be8f
--- /dev/null
+++ b/observability/src/main/java/org/acme/observability/Routes.java
@@ -0,0 +1,34 @@
+/*
+ * 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.observability;
+
+import org.apache.camel.builder.RouteBuilder;
+
+public class Routes extends RouteBuilder {
+
+    @Override
+    public void configure() throws Exception {
+        // Invokes a simple greeting endpoint every 10 seconds
+        from("timer:greeting?period=10000")
+                .to("netty-http:http://localhost:8099/greeting");
+
+        from("netty-http:0.0.0.0:8099/greeting")
+                // Random delay to simulate latency
+                .delay(simple("${random(1000, 5000)}"))
+                .setBody(constant("Hello From Camel Quarkus!"));
+    }
+}
diff --git a/observability/src/main/java/org/acme/observability/health/camel/CustomLivenessCheck.java b/observability/src/main/java/org/acme/observability/health/camel/CustomLivenessCheck.java
new file mode 100644
index 0000000..0d380d1
--- /dev/null
+++ b/observability/src/main/java/org/acme/observability/health/camel/CustomLivenessCheck.java
@@ -0,0 +1,50 @@
+/*
+ * 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.observability.health.camel;
+
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.camel.health.HealthCheckResultBuilder;
+import org.apache.camel.microprofile.health.AbstractCamelMicroProfileLivenessCheck;
+
+/**
+ * A simple custom liveness check which utilizes the Camel Health API.
+ *
+ * The check status is recorded as DOWN on every 5th invocation.
+ */
+public class CustomLivenessCheck extends AbstractCamelMicroProfileLivenessCheck {
+
+    AtomicInteger hitCount = new AtomicInteger();
+
+    public CustomLivenessCheck() {
+        super("custom-liveness-check");
+        getConfiguration().setEnabled(true);
+    }
+
+    @Override
+    protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
+        int hits = hitCount.incrementAndGet();
+
+        // Flag the check as DOWN on every 5th invocation, else it is UP
+        if (hits % 5 == 0) {
+            builder.down();
+        } else {
+            builder.up();
+        }
+    }
+}
diff --git a/observability/src/main/java/org/acme/observability/health/camel/CustomReadinessCheck.java b/observability/src/main/java/org/acme/observability/health/camel/CustomReadinessCheck.java
new file mode 100644
index 0000000..9ebe412
--- /dev/null
+++ b/observability/src/main/java/org/acme/observability/health/camel/CustomReadinessCheck.java
@@ -0,0 +1,38 @@
+/*
+ * 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.observability.health.camel;
+
+import java.util.Map;
+
+import org.apache.camel.health.HealthCheckResultBuilder;
+import org.apache.camel.microprofile.health.AbstractCamelMicroProfileReadinessCheck;
+
+/**
+ * A simple custom liveness check which utilizes the Camel Health API.
+ */
+public class CustomReadinessCheck extends AbstractCamelMicroProfileReadinessCheck {
+
+    public CustomReadinessCheck() {
+        super("custom-readiness-check");
+        getConfiguration().setEnabled(true);
+    }
+
+    @Override
+    protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
+        builder.up();
+    }
+}
diff --git a/observability/src/main/java/org/acme/observability/health/microprofile/CamelUptimeHealthCheck.java b/observability/src/main/java/org/acme/observability/health/microprofile/CamelUptimeHealthCheck.java
new file mode 100644
index 0000000..68fc396
--- /dev/null
+++ b/observability/src/main/java/org/acme/observability/health/microprofile/CamelUptimeHealthCheck.java
@@ -0,0 +1,50 @@
+/*
+ * 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.observability.health.microprofile;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+
+import org.apache.camel.CamelContext;
+import org.eclipse.microprofile.health.HealthCheck;
+import org.eclipse.microprofile.health.HealthCheckResponse;
+import org.eclipse.microprofile.health.HealthCheckResponseBuilder;
+import org.eclipse.microprofile.health.Readiness;
+
+/**
+ * A simple CamelContext uptime readiness check which implements the MicroProfile Health API.
+ */
+@Readiness
+@ApplicationScoped
+public class CamelUptimeHealthCheck implements HealthCheck {
+
+    @Inject
+    CamelContext camelContext;
+
+    @Override
+    public HealthCheckResponse call() {
+        HealthCheckResponseBuilder builder = HealthCheckResponse.named("Uptime readiness check");
+
+        if (camelContext.getUptimeMillis() > 0) {
+            builder.up();
+        } else {
+            builder.down();
+        }
+
+        return builder.build();
+    }
+}
diff --git a/observability/src/main/resources/application.properties b/observability/src/main/resources/application.properties
new file mode 100644
index 0000000..6337bd2
--- /dev/null
+++ b/observability/src/main/resources/application.properties
@@ -0,0 +1,32 @@
+## ---------------------------------------------------------------------------
+## 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
+
+# Configure Quarkus Jaeger OpenTracing support
+quarkus.jaeger.service-name = greetings-service
+quarkus.jaeger.sampler-type = const
+quarkus.jaeger.sampler-param = 1
+quarkus.jaeger.endpoint = http://localhost:14268/api/traces
+
+#
+# Camel
+#
+camel.context.name = camel-quarkus-observability
diff --git a/observability/src/test/java/org/acme/observability/ObservabilityIT.java b/observability/src/test/java/org/acme/observability/ObservabilityIT.java
new file mode 100644
index 0000000..66c3517
--- /dev/null
+++ b/observability/src/test/java/org/acme/observability/ObservabilityIT.java
@@ -0,0 +1,23 @@
+/*
+ * 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.observability;
+
+import io.quarkus.test.junit.NativeImageTest;
+
+@NativeImageTest
+public class ObservabilityIT extends ObservabilityTest {
+}
diff --git a/observability/src/test/java/org/acme/observability/ObservabilityTest.java b/observability/src/test/java/org/acme/observability/ObservabilityTest.java
new file mode 100644
index 0000000..d9a4d3c
--- /dev/null
+++ b/observability/src/test/java/org/acme/observability/ObservabilityTest.java
@@ -0,0 +1,66 @@
+/*
+ * 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.observability;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.http.ContentType;
+import org.hamcrest.Matchers;
+import org.junit.jupiter.api.Test;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+
+@QuarkusTest
+public class ObservabilityTest {
+
+    @Test
+    public void metrics() {
+        // Verify a expected Camel metric is available
+        given()
+                .when().accept(ContentType.JSON)
+                .get("/metrics/application")
+                .then()
+                .statusCode(200)
+                .body(
+                        "'camel.context.status;camelContext=camel-quarkus-observability'", is(3));
+    }
+
+    @Test
+    public void health() {
+        // Verify liveness
+        given()
+                .when().accept(ContentType.JSON)
+                .get("/health/live")
+                .then()
+                .statusCode(200)
+                .body("status", Matchers.is("UP"),
+                        "checks.name", containsInAnyOrder("camel-liveness-checks"),
+                        "checks.data.custom-liveness-check", containsInAnyOrder("UP"));
+
+        // Verify readiness
+        given()
+                .when().accept(ContentType.JSON)
+                .get("/health/ready")
+                .then()
+                .statusCode(200)
+                .body("status", Matchers.is("UP"),
+                        "checks.name",
+                        containsInAnyOrder("camel-readiness-checks", "camel-context-check", "Uptime readiness check"),
+                        "checks.data.custom-readiness-check", containsInAnyOrder(null, "UP"));
+    }
+}
diff --git a/rest-json/README.adoc b/rest-json/README.adoc
new file mode 100644
index 0000000..be10e2b
--- /dev/null
+++ b/rest-json/README.adoc
@@ -0,0 +1,57 @@
+= rest-json
+
+This example is a port of Quarkus' quickstart https://github.com/quarkusio/quarkus-quickstarts/blob/master/rest-json[rest-json] to Camel.
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+Then point your browser to one of the endpoints:
+
+* http://localhost:8080/fruits
+* http://localhost:8080/legumes
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+==== JVM mode
+
+[source,shell]
+----
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 1.163s. Listening on: http://0.0.0.0:8080
+----
+
+==== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.013s. Listening on: http://0.0.0.0:8080
+...
+----
diff --git a/rest-json/pom.xml b/rest-json/pom.xml
new file mode 100644
index 0000000..31c4b88
--- /dev/null
+++ b/rest-json/pom.xml
@@ -0,0 +1,149 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-rest-json</artifactId>
+    <name>Camel Quarkus :: Examples :: Rest Json</name>
+    <description>Camel Quarkus Example :: Rest Json</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-platform-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-jackson</artifactId>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-jackson-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-platform-http-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </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/rest-json/src/main/java/org/acme/rest/json/Fruit.java b/rest-json/src/main/java/org/acme/rest/json/Fruit.java
new file mode 100644
index 0000000..b86a36c
--- /dev/null
+++ b/rest-json/src/main/java/org/acme/rest/json/Fruit.java
@@ -0,0 +1,70 @@
+/*
+ * 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.rest.json;
+
+import java.util.Objects;
+
+import io.quarkus.runtime.annotations.RegisterForReflection;
+
+/**
+ * A REST entity representing a fruit.
+ */
+@RegisterForReflection // Lets Quarkus register this class for reflection during the native build
+public class Fruit {
+    private String name;
+    private String description;
+
+    public Fruit() {
+    }
+
+    public Fruit(String name, String description) {
+        this.name = name;
+        this.description = description;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (!(obj instanceof Fruit)) {
+            return false;
+        }
+
+        Fruit other = (Fruit) obj;
+
+        return Objects.equals(other.name, this.name);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(this.name);
+    }
+}
diff --git a/rest-json/src/main/java/org/acme/rest/json/Legume.java b/rest-json/src/main/java/org/acme/rest/json/Legume.java
new file mode 100644
index 0000000..779b271
--- /dev/null
+++ b/rest-json/src/main/java/org/acme/rest/json/Legume.java
@@ -0,0 +1,70 @@
+/*
+ * 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.rest.json;
+
+import java.util.Objects;
+
+import io.quarkus.runtime.annotations.RegisterForReflection;
+
+/**
+ * A REST entity representing a legume.
+ */
+@RegisterForReflection // Lets Quarkus register this class for reflection during the native build
+public class Legume {
+    private String name;
+    private String description;
+
+    public Legume() {
+    }
+
+    public Legume(String name, String description) {
+        this.name = name;
+        this.description = description;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (!(obj instanceof Legume)) {
+            return false;
+        }
+
+        Legume other = (Legume) obj;
+
+        return Objects.equals(other.name, this.name);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(this.name);
+    }
+}
diff --git a/rest-json/src/main/java/org/acme/rest/json/Routes.java b/rest-json/src/main/java/org/acme/rest/json/Routes.java
new file mode 100644
index 0000000..431eae0
--- /dev/null
+++ b/rest-json/src/main/java/org/acme/rest/json/Routes.java
@@ -0,0 +1,68 @@
+/*
+ * 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.rest.json;
+
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.model.dataformat.JsonLibrary;
+
+/**
+ * Camel route definitions.
+ */
+public class Routes extends RouteBuilder {
+    private final Set<Fruit> fruits = Collections.synchronizedSet(new LinkedHashSet<>());
+    private final Set<Legume> legumes = Collections.synchronizedSet(new LinkedHashSet<>());
+
+    public Routes() {
+
+        /* Let's add some initial fruits */
+        this.fruits.add(new Fruit("Apple", "Winter fruit"));
+        this.fruits.add(new Fruit("Pineapple", "Tropical fruit"));
+
+        /* Let's add some initial legumes */
+        this.legumes.add(new Legume("Carrot", "Root vegetable, usually orange"));
+        this.legumes.add(new Legume("Zucchini", "Summer squash"));
+    }
+
+    @Override
+    public void configure() throws Exception {
+        from("platform-http:/fruits?httpMethodRestrict=GET,POST")
+                .choice()
+                .when(simple("${header.CamelHttpMethod} == 'GET'"))
+                .setBody()
+                .constant(fruits)
+                .endChoice()
+                .when(simple("${header.CamelHttpMethod} == 'POST'"))
+                .unmarshal()
+                .json(JsonLibrary.Jackson, Fruit.class)
+                .process()
+                .body(Fruit.class, fruits::add)
+                .setBody()
+                .constant(fruits)
+                .endChoice()
+                .end()
+                .marshal().json();
+
+        from("platform-http:/legumes?httpMethodRestrict=GET")
+                .setBody().constant(legumes)
+                .marshal().json();
+
+    }
+}
diff --git a/rest-json/src/main/resources/META-INF/resources/fruits.html b/rest-json/src/main/resources/META-INF/resources/fruits.html
new file mode 100644
index 0000000..62cacfc
--- /dev/null
+++ b/rest-json/src/main/resources/META-INF/resources/fruits.html
@@ -0,0 +1,116 @@
+<!--
+
+    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.
+
+-->
+<!doctype html>
+<html>
+<head>
+    <meta charset="utf-8"/>
+    <title>Fruit REST service</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/wingcss/0.1.8/wing.min.css"/>
+    <!-- Load AngularJS -->
+    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
+    <script type="text/javascript">
+      var app = angular.module("FruitManagement", []);
+
+      //Controller Part
+      app.controller("FruitManagementController", function ($scope, $http) {
+
+        //Initialize page with default data which is blank in this example
+        $scope.fruits = [];
+
+        $scope.form = {
+          name: "",
+          description: ""
+        };
+
+        //Now load the data from server
+        _refreshPageData();
+
+        //HTTP POST methods for add fruits
+        $scope.add = function () {
+          var data = { "name": $scope.form.name, "description": $scope.form.description };
+
+          $http({
+            method: "POST",
+            url: '/fruits',
+            data: angular.toJson(data),
+            headers: {
+              'Content-Type': 'application/json'
+            }
+          }).then(_success, _error);
+        };
+
+        /* Private Methods */
+        //HTTP GET- get all fruits collection
+        function _refreshPageData() {
+          $http({
+            method: 'GET',
+            url: '/fruits'
+          }).then(function successCallback(response) {
+            $scope.fruits = response.data;
+          }, function errorCallback(response) {
+            console.log(response.statusText);
+          });
+        }
+
+        function _success(response) {
+          _refreshPageData();
+          _clearForm();
+        }
+
+        function _error(response) {
+          alert(response.data.message || response.statusText);
+        }
+
+        //Clear the form
+        function _clearForm() {
+          $scope.form.name = "";
+          $scope.form.description = "";
+        }
+      });
+    </script>
+</head>
+<body ng-app="FruitManagement" ng-controller="FruitManagementController">
+
+<div class="container">
+    <h1>REST Service - Fruit</h1>
+
+    <h3>Add a fruit</h3>
+    <form ng-submit="add()">
+        <div class="row">
+            <div class="col-6"><input type="text" placeholder="Name" ng-model="form.name" size="60"/></div>
+        </div>
+        <div class="row">
+            <div class="col-6"><input type="text" placeholder="Description" ng-model="form.description" size="60"/></div>
+        </div>
+        <input type="submit" value="Save"/>
+    </form>
+
+    <h3>Fruit List</h3>
+    <div class="row">
+        <div class="col-4">Name</div>
+        <div class="col-8">Description</div>
+    </div>
+    <div class="row" ng-repeat="fruit in fruits">
+        <div class="col-4">{{ fruit.name }}</div>
+        <div class="col-8">{{ fruit.description }}</div>
+    </div>
+</div>
+
+</body>
+</html>
diff --git a/rest-json/src/main/resources/META-INF/resources/legumes.html b/rest-json/src/main/resources/META-INF/resources/legumes.html
new file mode 100644
index 0000000..ba6c6c3
--- /dev/null
+++ b/rest-json/src/main/resources/META-INF/resources/legumes.html
@@ -0,0 +1,79 @@
+<!--
+
+    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.
+
+-->
+<!doctype html>
+<html>
+<head>
+    <meta charset="utf-8"/>
+    <title>Legume REST service</title>
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/wingcss/0.1.8/wing.min.css"/>
+    <!-- Load AngularJS -->
+    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
+    <script type="text/javascript">
+      var app = angular.module("LegumeManagement", []);
+
+      //Controller Part
+      app.controller("LegumeManagementController", function ($scope, $http) {
+
+        //Initialize page with default data which is blank in this example
+        $scope.legumes = [];
+
+        //Now load the data from server
+        _refreshPageData();
+
+        /* Private Methods */
+        //HTTP GET- get all legumes collection
+        function _refreshPageData() {
+          $http({
+            method: 'GET',
+            url: '/legumes'
+          }).then(function successCallback(response) {
+            $scope.legumes = response.data;
+          }, function errorCallback(response) {
+            console.log(response.statusText);
+          });
+        }
+
+        function _success(response) {
+          _refreshPageData();
+        }
+
+        function _error(response) {
+          alert(response.data.message || response.statusText);
+        }
+      });
+    </script>
+</head>
+<body ng-app="LegumeManagement" ng-controller="LegumeManagementController">
+
+<div class="container">
+    <h1>REST Service - Legume</h1>
+
+    <h3>Legume List</h3>
+    <div class="row">
+        <div class="col-4">Name</div>
+        <div class="col-8">Description</div>
+    </div>
+    <div class="row" ng-repeat="legume in legumes">
+        <div class="col-4">{{ legume.name }}</div>
+        <div class="col-8">{{ legume.description }}</div>
+    </div>
+</div>
+
+</body>
+</html>
diff --git a/rest-json/src/main/resources/application.properties b/rest-json/src/main/resources/application.properties
new file mode 100644
index 0000000..4d1d321
--- /dev/null
+++ b/rest-json/src/main/resources/application.properties
@@ -0,0 +1,28 @@
+## ---------------------------------------------------------------------------
+## 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
+quarkus.ssl.native=true
+
+#
+# Camel
+#
+camel.context.name = quarkus-camel-example-rest-json
+
diff --git a/rest-json/src/test/java/org/acme/rest/json/RestJsonIT.java b/rest-json/src/test/java/org/acme/rest/json/RestJsonIT.java
new file mode 100644
index 0000000..a9bfe36
--- /dev/null
+++ b/rest-json/src/test/java/org/acme/rest/json/RestJsonIT.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rest.json;
+
+import io.quarkus.test.junit.NativeImageTest;
+
+/**
+ * Native mode tests. In the native mode, the same tests will be executed as in the JVM mode because this class extends
+ * {@link RestJsonTest}.
+ */
+@NativeImageTest
+public class RestJsonIT extends RestJsonTest {
+}
diff --git a/rest-json/src/test/java/org/acme/rest/json/RestJsonTest.java b/rest-json/src/test/java/org/acme/rest/json/RestJsonTest.java
new file mode 100644
index 0000000..1d80c7f
--- /dev/null
+++ b/rest-json/src/test/java/org/acme/rest/json/RestJsonTest.java
@@ -0,0 +1,70 @@
+/*
+ * 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.rest.json;
+
+import io.quarkus.test.junit.QuarkusTest;
+import org.junit.jupiter.api.Test;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+
+/**
+ * JVM mode tests.
+ */
+@QuarkusTest
+public class RestJsonTest {
+
+    @Test
+    public void fruits() {
+
+        /* Assert the initial fruits are there */
+        given()
+                .when().get("/fruits")
+                .then()
+                .statusCode(200)
+                .body(
+                        "$.size()", is(2),
+                        "name", containsInAnyOrder("Apple", "Pineapple"),
+                        "description", containsInAnyOrder("Winter fruit", "Tropical fruit"));
+
+        /* Add a new fruit */
+        given()
+                .body("{\"name\": \"Pear\", \"description\": \"Winter fruit\"}")
+                .header("Content-Type", "application/json")
+                .when()
+                .post("/fruits")
+                .then()
+                .statusCode(200)
+                .body(
+                        "$.size()", is(3),
+                        "name", containsInAnyOrder("Apple", "Pineapple", "Pear"),
+                        "description", containsInAnyOrder("Winter fruit", "Tropical fruit", "Winter fruit"));
+    }
+
+    @Test
+    public void legumes() {
+        given()
+                .when().get("/legumes")
+                .then()
+                .statusCode(200)
+                .body("$.size()", is(2),
+                        "name", containsInAnyOrder("Carrot", "Zucchini"),
+                        "description", containsInAnyOrder("Root vegetable, usually orange", "Summer squash"));
+    }
+
+}
diff --git a/timer-log-cdi/README.adoc b/timer-log-cdi/README.adoc
new file mode 100644
index 0000000..f9d0495
--- /dev/null
+++ b/timer-log-cdi/README.adoc
@@ -0,0 +1,57 @@
+= timer-log-cdi
+
+This is a basic hello world example that uses CDI to set-up
+a Camel timer that triggers every second and prints to the
+log.
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+Then look at the log output in the console. As we run the example in Quarkus Dev Mode, you can edit the source code and have live updates.
+For example try to change `Incremented the counter` to `Counter state` in the message body or change the property `timer.period` in application.properties
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+==== JVM mode
+
+[source,shell]
+----
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 1.163s.
+----
+
+==== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.013s.
+...
+----
diff --git a/timer-log-cdi/pom.xml b/timer-log-cdi/pom.xml
new file mode 100644
index 0000000..76fac1c
--- /dev/null
+++ b/timer-log-cdi/pom.xml
@@ -0,0 +1,104 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-timer-log-cdi</artifactId>
+    <name>Camel Quarkus :: Examples :: Timer Log CDI</name>
+    <description>Camel Quarkus Example :: Timer to Log CDI</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log</artifactId>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/timer-log-cdi/src/main/java/org/acme/timer/Configurations.java b/timer-log-cdi/src/main/java/org/acme/timer/Configurations.java
new file mode 100644
index 0000000..7aad0ba
--- /dev/null
+++ b/timer-log-cdi/src/main/java/org/acme/timer/Configurations.java
@@ -0,0 +1,41 @@
+/*
+ * 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.timer;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Named;
+
+import org.apache.camel.component.log.LogComponent;
+import org.apache.camel.support.processor.DefaultExchangeFormatter;
+
+@ApplicationScoped
+public class Configurations {
+    /**
+     * Produces a {@link LogComponent} instance with a custom exchange formatter set-up.
+     */
+    @Named
+    LogComponent log() {
+        DefaultExchangeFormatter formatter = new DefaultExchangeFormatter();
+        formatter.setShowExchangePattern(false);
+        formatter.setShowBodyType(false);
+
+        LogComponent component = new LogComponent();
+        component.setExchangeFormatter(formatter);
+
+        return component;
+    }
+}
diff --git a/timer-log-cdi/src/main/java/org/acme/timer/Counter.java b/timer-log-cdi/src/main/java/org/acme/timer/Counter.java
new file mode 100644
index 0000000..67b7739
--- /dev/null
+++ b/timer-log-cdi/src/main/java/org/acme/timer/Counter.java
@@ -0,0 +1,37 @@
+/*
+ * 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.timer;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+import javax.enterprise.context.ApplicationScoped;
+
+/**
+ * A counter bean.
+ */
+@ApplicationScoped
+public class Counter {
+    private final AtomicInteger value = new AtomicInteger(0);
+
+    public int increment() {
+        return value.incrementAndGet();
+    }
+
+    public int getValue() {
+        return value.get();
+    }
+}
diff --git a/timer-log-cdi/src/main/java/org/acme/timer/TimerRoute.java b/timer-log-cdi/src/main/java/org/acme/timer/TimerRoute.java
new file mode 100644
index 0000000..f5c5010
--- /dev/null
+++ b/timer-log-cdi/src/main/java/org/acme/timer/TimerRoute.java
@@ -0,0 +1,54 @@
+/*
+ * 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.timer;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.eclipse.microprofile.config.inject.ConfigProperty;
+
+/**
+ * A {@link RouteBuilder} demonstrating the use of CDI (Contexts and Dependency Injection).
+ * <p>
+ * Note that for the {@code @Inject} and {@code @ConfigProperty} annotations to work, this class has to be annotated
+ * with {@code @ApplicationScoped}.
+ */
+@ApplicationScoped
+public class TimerRoute extends RouteBuilder {
+
+    /**
+     * {@code timer.period} is defined in {@code src/main/resources/application.properties}
+     */
+    @ConfigProperty(name = "timer.period", defaultValue = "1000")
+    String period;
+
+    /**
+     * An injected bean
+     */
+    @Inject
+    Counter counter;
+
+    @Override
+    public void configure() throws Exception {
+        fromF("timer:foo?period=%s", period)
+                .setBody(exchange -> "Incremented the counter: " + counter.increment())
+                // the configuration of the log component is done programmatically using CDI
+                // by the org.acme.timer.Beans::log method.
+                .to("log:example");
+    }
+}
diff --git a/timer-log-cdi/src/main/resources/application.properties b/timer-log-cdi/src/main/resources/application.properties
new file mode 100644
index 0000000..aa728e8
--- /dev/null
+++ b/timer-log-cdi/src/main/resources/application.properties
@@ -0,0 +1,30 @@
+## ---------------------------------------------------------------------------
+## 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
+
+# camel look-up beans using BeanManager so we don't want
+# ArC to remove beans without injection points.
+quarkus.arc.remove-unused-beans = false
+
+#
+# Integration
+#
+timer.period = 5000
diff --git a/timer-log-kotlin/pom.xml b/timer-log-kotlin/pom.xml
new file mode 100644
index 0000000..4e7e560
--- /dev/null
+++ b/timer-log-kotlin/pom.xml
@@ -0,0 +1,181 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-timer-log-kotlin</artifactId>
+    <name>Camel Quarkus :: Examples :: Timer Log Kotlin</name>
+    <description>Camel Quarkus Example :: Timer to Log Kotlin</description>
+
+    <properties>
+        <kotlin.version>1.3.21</kotlin.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer</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-kotlin</artifactId>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-kotlin-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <sourceDirectory>src/main/kotlin</sourceDirectory>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.jetbrains.kotlin</groupId>
+                <artifactId>kotlin-maven-plugin</artifactId>
+                <version>${kotlin.version}</version>
+                <executions>
+                    <execution>
+                        <id>compile</id>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>compile</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>test-compile</id>
+                        <phase>test-compile</phase>
+                        <goals>
+                            <goal>test-compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <compilerPlugins>
+                        <plugin>all-open</plugin>
+                    </compilerPlugins>
+                    <pluginOptions>
+                        <option>all-open:annotation=javax.enterprise.inject.Produces</option>
+                        <option>all-open:annotation=javax.inject.Singleton</option>
+                        <option>all-open:annotation=javax.enterprise.context.ApplicationScoped</option>
+                    </pluginOptions>
+                </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.jetbrains.kotlin</groupId>
+                        <artifactId>kotlin-maven-allopen</artifactId>
+                        <version>${kotlin.version}</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/timer-log-kotlin/src/main/kotlin/org/acme/timer/routes.kt b/timer-log-kotlin/src/main/kotlin/org/acme/timer/routes.kt
new file mode 100644
index 0000000..467bab6
--- /dev/null
+++ b/timer-log-kotlin/src/main/kotlin/org/acme/timer/routes.kt
@@ -0,0 +1,32 @@
+/*
+ * 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.timer
+
+import org.apache.camel.Exchange
+import org.apache.camel.quarkus.kotlin.routes
+import javax.enterprise.context.ApplicationScoped
+import javax.enterprise.inject.Produces
+
+@ApplicationScoped
+class Routes {
+    @Produces
+    fun myRoutes() = routes {
+        from("timer:foo?period=1000")
+                .process { e: Exchange -> e.message.body = "Hello from Kotlin!" }
+                .log("\${body}")
+    }
+}
\ No newline at end of file
diff --git a/timer-log-kotlin/src/main/resources/application.properties b/timer-log-kotlin/src/main/resources/application.properties
new file mode 100644
index 0000000..16b8c20
--- /dev/null
+++ b/timer-log-kotlin/src/main/resources/application.properties
@@ -0,0 +1,28 @@
+## ---------------------------------------------------------------------------
+## 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 turn on DEBUG logging in camel-main
+# quarkus.log.category."org.apache.camel.main".level = DEBUG
+
+#
+# Camel
+#
+camel.context.name = quarkus-camel-example-timer-log-kotlin
diff --git a/timer-log-main/README.adoc b/timer-log-main/README.adoc
new file mode 100644
index 0000000..d0497e3
--- /dev/null
+++ b/timer-log-main/README.adoc
@@ -0,0 +1,56 @@
+= timer-log-main
+
+This is a basic hello world example that uses a custom main to set-up
+a Camel timer that triggers every second and prints to the log.
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+Then look at the log output in the console. As we run the example in Quarkus Dev Mode, you can edit the source code and have live updates.
+For example try to change `Incremented the counter` to `Counter state` in the message body or change the property `timer.period` in application.properties
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+==== JVM mode
+
+[source,shell]
+----
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 1.163s.
+----
+
+==== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.013s.
+...
+----
diff --git a/timer-log-main/pom.xml b/timer-log-main/pom.xml
new file mode 100644
index 0000000..b8dc003
--- /dev/null
+++ b/timer-log-main/pom.xml
@@ -0,0 +1,121 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-timer-log-main</artifactId>
+    <name>Camel Quarkus :: Examples :: Timer Log Main</name>
+    <description>Camel Quarkus Example :: Timer to Log Main</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log</artifactId>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/timer-log-main/src/main/java/org/acme/timer/Main.java b/timer-log-main/src/main/java/org/acme/timer/Main.java
new file mode 100644
index 0000000..9299d43
--- /dev/null
+++ b/timer-log-main/src/main/java/org/acme/timer/Main.java
@@ -0,0 +1,28 @@
+/*
+ * 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.timer;
+
+import io.quarkus.runtime.Quarkus;
+import io.quarkus.runtime.annotations.QuarkusMain;
+import org.apache.camel.quarkus.main.CamelMainApplication;
+
+@QuarkusMain
+public class Main {
+    public static void main(String... args) {
+        Quarkus.run(CamelMainApplication.class, args);
+    }
+}
diff --git a/timer-log-main/src/main/java/org/acme/timer/TimerRoute.java b/timer-log-main/src/main/java/org/acme/timer/TimerRoute.java
new file mode 100644
index 0000000..c33c153
--- /dev/null
+++ b/timer-log-main/src/main/java/org/acme/timer/TimerRoute.java
@@ -0,0 +1,34 @@
+/*
+ * 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.timer;
+
+import javax.enterprise.context.ApplicationScoped;
+
+import org.apache.camel.builder.RouteBuilder;
+
+/**
+ * A simple {@link RouteBuilder}.
+ */
+@ApplicationScoped
+public class TimerRoute extends RouteBuilder {
+    @Override
+    public void configure() throws Exception {
+        from("timer:foo?period={{timer.period}}")
+                .setBody().constant("Hello from Main!")
+                .to("log:example");
+    }
+}
diff --git a/timer-log-main/src/main/resources/application.properties b/timer-log-main/src/main/resources/application.properties
new file mode 100644
index 0000000..dd370b0
--- /dev/null
+++ b/timer-log-main/src/main/resources/application.properties
@@ -0,0 +1,42 @@
+## ---------------------------------------------------------------------------
+## 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
+
+# camel look-up beans using BeanManager so we don't want
+# ArC to remove beans without injection points.
+quarkus.arc.remove-unused-beans = false
+
+#
+# Camel - Main
+#
+camel.main.duration-hit-exit-code = 15
+
+#
+# Camel - Components
+#
+camel.component.log.exchange-formatter = #class:org.apache.camel.support.processor.DefaultExchangeFormatter
+camel.component.log.exchange-formatter.show-exchange-pattern = false
+camel.component.log.exchange-formatter.show-body-type = false
+
+#
+# Integration
+#
+timer.period = 5000
diff --git a/timer-log-spring/README.adoc b/timer-log-spring/README.adoc
new file mode 100644
index 0000000..1f65a37
--- /dev/null
+++ b/timer-log-spring/README.adoc
@@ -0,0 +1,57 @@
+= timer-log-spring
+
+This is a basic hello world example that uses Spring to set-up
+a Camel timer that triggers every second and prints to the
+log.
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+Then look at the log output in the console. As we run the example in Quarkus Dev Mode, you can edit the source code and have live updates.
+For example try to change `Incremented the counter` to `Counter state` in the message body or change the property `timer.period` in application.properties
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+==== JVM mode
+
+[source,shell]
+----
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.497s.
+----
+
+==== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.007s.
+...
+----
diff --git a/timer-log-spring/pom.xml b/timer-log-spring/pom.xml
new file mode 100644
index 0000000..e5c9316
--- /dev/null
+++ b/timer-log-spring/pom.xml
@@ -0,0 +1,126 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-timer-log-spring</artifactId>
+    <name>Camel Quarkus :: Examples :: Timer Log Spring</name>
+    <description>Camel Quarkus Example :: Timer to Log Spring</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-spring-di</artifactId>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/timer-log-spring/src/main/java/org/acme/timer/Counter.java b/timer-log-spring/src/main/java/org/acme/timer/Counter.java
new file mode 100644
index 0000000..3587d58
--- /dev/null
+++ b/timer-log-spring/src/main/java/org/acme/timer/Counter.java
@@ -0,0 +1,37 @@
+/*
+ * 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.timer;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.springframework.stereotype.Component;
+
+/**
+ * A counter bean.
+ */
+@Component
+public class Counter {
+    private final AtomicInteger value = new AtomicInteger(0);
+
+    public int increment() {
+        return value.incrementAndGet();
+    }
+
+    public int getValue() {
+        return value.get();
+    }
+}
diff --git a/timer-log-spring/src/main/java/org/acme/timer/TimerRoute.java b/timer-log-spring/src/main/java/org/acme/timer/TimerRoute.java
new file mode 100644
index 0000000..a7cdd61
--- /dev/null
+++ b/timer-log-spring/src/main/java/org/acme/timer/TimerRoute.java
@@ -0,0 +1,48 @@
+/*
+ * 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.timer;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+/**
+ * A {@link RouteBuilder} demonstrating the use of Spring Dependency Injection.
+ */
+@Service
+public class TimerRoute extends RouteBuilder {
+
+    /**
+     * {@code timer.period} is defined in {@code src/main/resources/application.properties}
+     */
+    @Value("timer.period")
+    String period = "1000";
+
+    /**
+     * An injected bean
+     */
+    @Autowired
+    Counter counter;
+
+    @Override
+    public void configure() throws Exception {
+        fromF("timer:foo?period=%s", period)
+                .setBody(exchange -> "Incremented the counter: " + counter.increment())
+                .to("log:example?showExchangePattern=false&showBodyType=false");
+    }
+}
diff --git a/timer-log-spring/src/main/resources/application.properties b/timer-log-spring/src/main/resources/application.properties
new file mode 100644
index 0000000..096809f
--- /dev/null
+++ b/timer-log-spring/src/main/resources/application.properties
@@ -0,0 +1,32 @@
+## ---------------------------------------------------------------------------
+## 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
+
+#
+# Camel
+#
+camel.context.name = quarkus-camel-example-timer-log-spring
+
+#
+# Integration
+#
+
+timer.period = 5000
\ No newline at end of file
diff --git a/timer-log-xml/README.adoc b/timer-log-xml/README.adoc
new file mode 100644
index 0000000..0e7af51
--- /dev/null
+++ b/timer-log-xml/README.adoc
@@ -0,0 +1,58 @@
+= timer-log-xml
+
+This is a basic hello world example that uses XML to set-up
+a Camel timer that triggers every second and prints to the
+log.
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+Then look at the log output in the console. As we run the example
+in Quarkus Dev Mode, you can edit the source code and have live updates.
+For example try to change the logging output to be `Bye XML`.
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+==== JVM mode
+
+[source,shell]
+----
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 1.163s.
+----
+
+==== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.013s.
+...
+----
diff --git a/timer-log-xml/pom.xml b/timer-log-xml/pom.xml
new file mode 100644
index 0000000..4a172ef
--- /dev/null
+++ b/timer-log-xml/pom.xml
@@ -0,0 +1,141 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-timer-log-xml</artifactId>
+    <name>Camel Quarkus :: Examples :: Timer Log XML</name>
+    <description>Camel Quarkus Example :: Timer to Log XML</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer</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-xml-io</artifactId>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-xml-io-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <workingDir>${project.basedir}</workingDir>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/timer-log-xml/src/main/java/org/acme/timer/DummyClass.java b/timer-log-xml/src/main/java/org/acme/timer/DummyClass.java
new file mode 100644
index 0000000..abb42bd
--- /dev/null
+++ b/timer-log-xml/src/main/java/org/acme/timer/DummyClass.java
@@ -0,0 +1,20 @@
+/*
+ * 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.timer;
+
+public class DummyClass {
+}
diff --git a/timer-log-xml/src/main/java/org/acme/timer/package-info.java b/timer-log-xml/src/main/java/org/acme/timer/package-info.java
new file mode 100644
index 0000000..764066e
--- /dev/null
+++ b/timer-log-xml/src/main/java/org/acme/timer/package-info.java
@@ -0,0 +1,19 @@
+/*
+ * 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.timer;
+
+// Added to avoid quarkus-maven-plugin warning about empty source tree
diff --git a/timer-log-xml/src/main/resources/application.properties b/timer-log-xml/src/main/resources/application.properties
new file mode 100644
index 0000000..a711cde
--- /dev/null
+++ b/timer-log-xml/src/main/resources/application.properties
@@ -0,0 +1,33 @@
+## ---------------------------------------------------------------------------
+## 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 turn on DEBUG logging in camel-main
+# quarkus.log.category."org.apache.camel.main".level = DEBUG
+
+#
+# Camel
+#
+camel.context.name = quarkus-camel-example-timer-log-xml
+
+#
+# Camel Main
+#
+camel.main.xml-routes = file:src/main/resources/routes/my-routes.xml
diff --git a/timer-log-xml/src/main/resources/routes/my-routes.xml b/timer-log-xml/src/main/resources/routes/my-routes.xml
new file mode 100644
index 0000000..ed63c39
--- /dev/null
+++ b/timer-log-xml/src/main/resources/routes/my-routes.xml
@@ -0,0 +1,31 @@
+<?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.
+
+-->
+<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xmlns="http://camel.apache.org/schema/spring"
+        xsi:schemaLocation="
+            http://camel.apache.org/schema/spring
+            http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+    <route id="xml-route">
+        <from uri="timer:from-xml?period=1000"/>
+        <log message="Hello XML!"/>
+    </route>
+
+</routes>
\ No newline at end of file
diff --git a/timer-log/README.adoc b/timer-log/README.adoc
new file mode 100644
index 0000000..8596a9f
--- /dev/null
+++ b/timer-log/README.adoc
@@ -0,0 +1,57 @@
+= timer-log
+
+This is a basic hello world example that uses a Camel timer that
+triggers every second and prints to the log.
+
+TIP: Check the https://camel.apache.org/camel-quarkus/latest/first-steps.html[Camel Quarkus User guide] for prerequisites
+and other general information.
+
+== Start in the Development mode
+
+[source,shell]
+----
+$ mvn clean compile quarkus:dev
+----
+
+The above command compiles the project, starts the application and lets the Quarkus tooling watch for changes in your
+workspace. Any modifications in your project will automatically take effect in the running application.
+
+TIP: Please refer to the Development mode section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_development_mode[Camel Quarkus User guide] for more details.
+
+Then look at the log output in the console. As we run the example
+in Quarkus Dev Mode, you can edit the source code and have live updates.
+For example try to change the logging output to be `Bye World`.
+
+=== Package and run the application
+
+Once you are done with developing you may want to package and run the application.
+
+TIP: Find more details about the JVM mode and Native mode in the Package and run section of
+https://camel.apache.org/camel-quarkus/latest/first-steps.html#_package_and_run_the_application[Camel Quarkus User guide]
+
+==== JVM mode
+
+[source,shell]
+----
+$ mvn clean package
+$ java -jar target/*-runner.jar
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 1.163s.
+----
+
+==== Native mode
+
+IMPORTANT: Native mode requires having GraalVM and other tools installed. Please check the Prerequisites section
+of https://camel.apache.org/camel-quarkus/latest/first-steps.html#_prerequisites[Camel Quarkus User guide].
+
+To prepare a native executable using GraalVM, run the following command:
+
+[source,shell]
+----
+$ mvn clean package -Pnative
+$ ./target/*-runner
+...
+[io.quarkus] (main) camel-quarkus-examples-... started in 0.013s.
+...
+----
diff --git a/timer-log/pom.xml b/timer-log/pom.xml
new file mode 100644
index 0000000..d6f3c65
--- /dev/null
+++ b/timer-log/pom.xml
@@ -0,0 +1,122 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-quarkus-examples-timer-log</artifactId>
+    <name>Camel Quarkus :: Examples :: Timer Log</name>
+    <description>Camel Quarkus Example :: Timer to Log</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log</artifactId>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-timer-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>build</id>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/timer-log/src/main/java/org/acme/timer/TimerRoute.java b/timer-log/src/main/java/org/acme/timer/TimerRoute.java
new file mode 100644
index 0000000..0a3b0b9
--- /dev/null
+++ b/timer-log/src/main/java/org/acme/timer/TimerRoute.java
@@ -0,0 +1,28 @@
+/*
+ * 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.timer;
+
+import org.apache.camel.builder.RouteBuilder;
+
+public class TimerRoute extends RouteBuilder {
+
+    @Override
+    public void configure() throws Exception {
+        from("timer:foo?period=1000")
+                .log("Hello World");
+    }
+}
diff --git a/timer-log/src/main/resources/application.properties b/timer-log/src/main/resources/application.properties
new file mode 100644
index 0000000..261dde5
--- /dev/null
+++ b/timer-log/src/main/resources/application.properties
@@ -0,0 +1,26 @@
+## ---------------------------------------------------------------------------
+## 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
+
+#
+# Camel
+#
+camel.context.name = quarkus-camel-example-timer-log
+