You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/01/10 11:29:37 UTC
[camel-examples] 02/03: Remove example as cdi-xml is deprecated
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-examples.git
commit e84e86306ef2039c0dede9227f499cd87cc65e87
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Jan 10 12:25:02 2022 +0100
Remove example as cdi-xml is deprecated
---
examples/README.adoc | 6 +-
examples/cdi-xml/README.adoc | 129 -------------
examples/cdi-xml/pom.xml | 154 ----------------
.../apache/camel/example/cdi/xml/Application.java | 88 ---------
.../src/main/resources/META-INF/LICENSE.txt | 203 ---------------------
.../cdi-xml/src/main/resources/META-INF/NOTICE.txt | 11 --
.../cdi-xml/src/main/resources/META-INF/beans.xml | 20 --
.../cdi-xml/src/main/resources/camel-context.xml | 66 -------
.../cdi-xml/src/main/resources/config.properties | 18 --
.../cdi-xml/src/main/resources/log4j2.properties | 23 ---
.../apache/camel/example/cdi/xml/CdiXmlTest.java | 103 -----------
examples/micrometer/README.adoc | 80 --------
examples/micrometer/pom.xml | 135 --------------
.../example/micrometer/CamelPrometheusExample.java | 106 -----------
.../example/micrometer/ScheduledRouteBuilder.java | 46 -----
.../example/micrometer/ScrapeRouteBuilder.java | 49 -----
.../src/main/resources/META-INF/LICENSE.txt | 203 ---------------------
.../src/main/resources/META-INF/NOTICE.txt | 11 --
.../src/main/resources/log4j2.properties | 23 ---
.../camel/example/micrometer/IntegrationTest.java | 31 ----
examples/pom.xml | 2 -
21 files changed, 1 insertion(+), 1506 deletions(-)
diff --git a/examples/README.adoc b/examples/README.adoc
index ab55954..0a02ff6 100644
--- a/examples/README.adoc
+++ b/examples/README.adoc
@@ -11,14 +11,12 @@ View the individual example READMEs for details.
== Examples
// examples: START
-Number of Examples: 87 (0 deprecated)
+Number of Examples: 85 (0 deprecated)
[width="100%",cols="4,2,4",options="header"]
|===
| Example | Category | Description
-| link:micrometer/README.adoc[Micrometer] (micrometer) | Advanced | An example showing how to work with Camel, Spring Java Config and Micrometer monitoring
-
| link:any23/README.adoc[Any23 example] (any23) | Beginner | An example that uses the Any23 dataformat
| link:as2/README.adoc[AS2 Example] (as2) | Beginner | An example which demonstrates the use of the Camel AS2 component
@@ -96,8 +94,6 @@ Number of Examples: 87 (0 deprecated)
| link:spring/README.adoc[Spring] (spring) | Beginner | An example showing how to work with Camel and Spring
-| link:spring-javaconfig/README.adoc[Spring Java Config] (spring-javaconfig) | Beginner | An example showing how to work with Camel and Spring Java Config
-
| link:spring-xquery/README.adoc[Spring XQuery] (spring-xquery) | Beginner | An example using Spring XML to transform a message using XQuery
| link:cassandra-kubernetes/README.adoc[Cassandra Kubernetes] (cassandra-kubernetes) | Cloud | An example with Camel and Cassandra running on Kubernetes
diff --git a/examples/cdi-xml/README.adoc b/examples/cdi-xml/README.adoc
deleted file mode 100644
index 3d7a7f3..0000000
--- a/examples/cdi-xml/README.adoc
+++ /dev/null
@@ -1,129 +0,0 @@
-== Camel XML Example - CDI
-
-=== Introduction
-
-This example illustrates the use of Camel XML configuration files into
-Camel CDI applications.
-
-While CDI favors a typesafe dependency injection mechanism, it may be
-useful to reuse existing Camel XML configuration files into a Camel CDI
-application. In other use cases, it might be handy to rely on the Camel
-XML DSL to configure its Camel context(s).
-
-So that example demonstrates how to import a Camel XML configuration
-file and the level of interoperability between the Camel XML DSL and
-CDI.
-
-It is implemented in Java with CDI dependency injection. It uses JBoss
-Weld as the minimal CDI container to run the application, though you can
-run the application in any CDI compliant container.
-
-It is required to have the `+camel-core-xml+` dependency in the
-classpath when importing Camel XML configuration files using Camel CDI.
-
-The `+camel-cdi+` and `+camel-stream+` components are used in this
-example. The `+camel-test-cdi+` module is used for the JUnit test
-runner.
-
-=== Build
-
-You can build this example using:
-
-[source,sh]
-----
-$ mvn install
-----
-
-=== Run
-
-You can run this example using:
-
-[source,sh]
-----
-$ mvn camel:run
-----
-
-When the Camel application runs, you should see the following messages
-being logged to the console, e.g.:
-
-....
-2016-04-26 17:08:49,021 [cdi.Main.main()] INFO Version - WELD-000900: 2.3.4 (Final)
-2016-04-26 17:08:51,805 [cdi.Main.main()] INFO CdiCamelExtension - Camel CDI is starting Camel context [cdi-camel-xml]
-2016-04-26 17:08:51,806 [cdi.Main.main()] INFO DefaultCamelContext - Apache Camel 2.18.0 (CamelContext: cdi-camel-xml) is starting
-2016-04-26 17:08:52,322 [cdi.Main.main()] INFO SedaEndpoint - Endpoint Endpoint[seda://rescue?multipleConsumers=true] is using shared queue: seda://rescue with size: 2147483647
-2016-04-26 17:08:52,356 [cdi.Main.main()] INFO DefaultCamelContext - Route: terminal started and consuming from: Endpoint[stream://in?delay=1000&promptMessage=Which+pill+%28red%7Cblue%29%3F%3A+]
-2016-04-26 17:08:52,360 [cdi.Main.main()] INFO DefaultCamelContext - Route: matrix started and consuming from: Endpoint[direct://neo]
-2016-04-26 17:08:52,361 [cdi.Main.main()] INFO DefaultCamelContext - Route: unplug started and consuming from: Endpoint[direct://unplug]
-2016-04-26 17:08:52,362 [cdi.Main.main()] INFO DefaultCamelContext - Total 3 routes, of which 3 are started.
-2016-04-26 17:08:52,363 [cdi.Main.main()] INFO DefaultCamelContext - Apache Camel 2.18.0 (CamelContext: cdi-camel-xml) started in 0.556 seconds
-2016-04-26 17:08:52,434 [cdi.Main.main()] INFO Bootstrap - WELD-ENV-002003: Weld SE container STATIC_INSTANCE initialized
-████████╗██╗ ██╗███████╗ ███╗ ███╗ █████╗ ████████╗██████╗ ██╗██╗ ██╗
-╚══██╔══╝██║ ██║██╔════╝ ████╗ ████║██╔══██╗╚══██╔══╝██╔══██╗██║╚██╗██╔╝
- ██║ ███████║█████╗ ██╔████╔██║███████║ ██║ ██████╔╝██║ ╚███╔╝
- ██║ ██╔══██║██╔══╝ ██║╚██╔╝██║██╔══██║ ██║ ██╔══██╗██║ ██╔██╗
- ██║ ██║ ██║███████╗ ██║ ╚═╝ ██║██║ ██║ ██║ ██║ ██║██║██╔╝ ██╗
- ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝
-Which pill (red|blue)?:
-....
-
-You're being prompted which pill Neo should be taking. If he chooses the
-red one, Neo gets unplugged from the Matrix and the red pill serves as a
-location device to track his position into the farm to broadcast it and
-have the rebellion rescuing him, e.g.:
-
-....
-Which pill (red|blue)?: red
-2016-04-26 17:12:07,520 [#1 - ControlBus] INFO DefaultShutdownStrategy - Starting to graceful shutdown 1 routes (timeout 300 seconds)
-2016-04-26 17:12:07,521 [0 - stream://in] INFO unplug - Neo has been located in matrix
-2016-04-26 17:12:07,523 [ - ShutdownTask] INFO DefaultShutdownStrategy - Route: terminal shutdown complete, was consuming from: Endpoint[stream://in?delay=1000&promptMessage=Which+pill+%28red%7Cblue%29%3F%3A+]
-2016-04-26 17:12:07,524 [ - ShutdownTask] INFO DefaultShutdownStrategy - Waiting as there are still 1 inflight and pending exchanges to complete, timeout in 300 seconds. Inflights per route: [terminal = 1]
-2016-04-26 17:12:08,530 [#1 - ControlBus] INFO DefaultShutdownStrategy - Graceful shutdown of 1 routes completed in 1 seconds
- __
- _____ _ _| |
-| | |___ ___| |_ _ ___ ___ ___ _| | |
-| | | | . | | | | . | . | -_| . |__|
-|_____|_|_| _|_|___|_ |_ |___|___|__|
- |_| |___|___|
-2016-04-26 17:12:08,532 [#1 - ControlBus] INFO DefaultCamelContext - Route: terminal is stopped, was consuming from: Endpoint[stream://in?delay=1000&promptMessage=Which+pill+%28red%7Cblue%29%3F%3A+]
-2016-04-26 17:12:08,533 [#1 - ControlBus] INFO ControlBusProducer - ControlBus task done [stop route terminal] with result -> void
-....
-
-The Camel application can be stopped pressing ctrl+c in the shell:
-
-....
-2016-04-26 17:16:50,172 [Thread-5 ] INFO MainSupport$HangupInterceptor - Received hang up - stopping the main instance.
-2016-04-26 17:16:50,179 [Thread-5 ] INFO CamelContextProducer - Camel CDI is stopping Camel context [cdi-camel-xml]
-2016-04-26 17:16:50,180 [Thread-5 ] INFO DefaultCamelContext - Apache Camel 2.18.0 (CamelContext: cdi-camel-xml) is shutting down
-2016-04-26 17:16:50,180 [Thread-5 ] INFO DefaultShutdownStrategy - Starting to graceful shutdown 3 routes (timeout 300 seconds)
-2016-04-26 17:16:50,191 [ - ShutdownTask] INFO DefaultShutdownStrategy - Route: terminal shutdown complete, was consuming from: Endpoint[stream://in?delay=1000&promptMessage=Which+pill+%28red%7Cblue%29%3F%3A+]
-2016-04-26 17:16:50,192 [ - ShutdownTask] INFO DefaultShutdownStrategy - Route: unplug shutdown complete, was consuming from: Endpoint[direct://unplug]
-2016-04-26 17:16:50,192 [ - ShutdownTask] INFO DefaultShutdownStrategy - Route: matrix shutdown complete, was consuming from: Endpoint[direct://neo]
-2016-04-26 17:16:50,192 [Thread-5 ] INFO DefaultShutdownStrategy - Graceful shutdown of 3 routes completed in 0 seconds
-2016-04-26 17:16:50,236 [Thread-5 ] INFO MainLifecycleStrategy - CamelContext: cdi-camel-xml has been shutdown, triggering shutdown of the JVM.
-2016-04-26 17:16:50,259 [Thread-5 ] INFO DefaultCamelContext - Apache Camel 2.18.0 (CamelContext: cdi-camel-xml) uptime 7 minutes
-2016-04-26 17:16:50,259 [Thread-5 ] INFO DefaultCamelContext - Apache Camel 2.18.0 (CamelContext: cdi-camel-xml) is shutdown in 0.079 seconds
- _____ _ _ _
-| __| |_ _ _| |_ _| |___ _ _ _ ___
-|__ | | | | _| . | . | | | | |_ _ _
-|_____|_|_|___|_| |___|___|_____|_|_|_|_|_|
-2016-04-26 17:16:50,275 [Thread-5 ] INFO Bootstrap - WELD-ENV-002001: Weld SE container STATIC_INSTANCE shut down
-....
-
-=== Run unit tests
-
-There are unit tests implemented, which can be run with the following command:
-
-[source,sh]
-----
-$ mvn test
-----
-
-=== Help and contributions
-
-If you hit any problem using Camel or have some feedback, then please
-https://camel.apache.org/community/support/[let us know].
-
-We also love contributors, so
-https://camel.apache.org/community/contributing/[get involved] :-)
-
-The Camel riders!
diff --git a/examples/cdi-xml/pom.xml b/examples/cdi-xml/pom.xml
deleted file mode 100644
index b41205a..0000000
--- a/examples/cdi-xml/pom.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.camel.example</groupId>
- <artifactId>examples</artifactId>
- <version>3.15.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>camel-example-cdi-xml</artifactId>
- <name>Camel :: Example :: CDI :: XML</name>
- <description>CDI and Camel XML example</description>
- <packaging>jar</packaging>
-
- <properties>
- <category>Beginner</category>
- <title>CDI Camel XML</title>
- </properties>
-
- <dependencyManagement>
- <dependencies>
- <!-- Add Camel BOM -->
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-bom</artifactId>
- <version>${camel.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <dependencies>
-
- <!-- CDI API -->
- <dependency>
- <groupId>javax.enterprise</groupId>
- <artifactId>cdi-api</artifactId>
- <version>${cdi-api-2.0-version}</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- Camel -->
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-cdi</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core-xml</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-xml-jaxb</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-stream</artifactId>
- </dependency>
-
- <!-- logging -->
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <scope>runtime</scope>
- <version>${log4j2-version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <scope>runtime</scope>
- <version>${log4j2-version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <scope>runtime</scope>
- <version>${log4j2-version}</version>
- </dependency>
-
- <!-- test -->
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-test-cdi</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <artifactId>hamcrest-core</artifactId>
- <groupId>org.hamcrest</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest</artifactId>
- <scope>test</scope>
- <version>${hamcrest-version}</version>
- </dependency>
- <dependency>
- <groupId>org.awaitility</groupId>
- <artifactId>awaitility</artifactId>
- <version>${awaitility-version}</version>
- <exclusions>
- <exclusion>
- <artifactId>hamcrest-core</artifactId>
- <groupId>org.hamcrest</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <!-- allows the routes to be run via 'mvn camel:run' -->
- <plugin>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-maven-plugin</artifactId>
- <version>${camel.version}</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.deltaspike.cdictrl</groupId>
- <artifactId>deltaspike-cdictrl-weld</artifactId>
- <version>${deltaspike-version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.weld.se</groupId>
- <artifactId>weld-se-shaded</artifactId>
- <version>${weld3-version}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/examples/cdi-xml/src/main/java/org/apache/camel/example/cdi/xml/Application.java b/examples/cdi-xml/src/main/java/org/apache/camel/example/cdi/xml/Application.java
deleted file mode 100644
index 19ea6d4..0000000
--- a/examples/cdi-xml/src/main/java/org/apache/camel/example/cdi/xml/Application.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.example.cdi.xml;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.Destroyed;
-import javax.enterprise.context.Initialized;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Produces;
-import javax.inject.Named;
-
-import org.apache.camel.Body;
-import org.apache.camel.CamelException;
-import org.apache.camel.Exchange;
-import org.apache.camel.Handler;
-import org.apache.camel.Processor;
-import org.apache.camel.cdi.ImportResource;
-import org.apache.camel.spi.CamelEvent.RouteStoppedEvent;
-
-import static org.apache.camel.builder.Builder.simple;
-
-/**
- * This example imports a Camel XML configuration file from the classpath using the
- * {@code ImportResource} annotation.<p>
- *
- * The imported Camel XML file configures a Camel context that references CDI beans
- * declared in this class.
- */
-@Named("matrix")
-@ImportResource("camel-context.xml")
-public class Application {
-
- @Named
- @Produces
- Exception morpheus = new CamelException("All I'm offering is the truth!");
-
- @Named
- @Produces
- Processor tracer = exchange -> exchange.getIn()
- .setHeader("location", exchange.getProperty(Exchange.FAILURE_ROUTE_ID));
-
- void login(@Observes @Initialized(ApplicationScoped.class) Object event) {
- System.out.println(
- "████████╗██╗ ██╗███████╗ ███╗ ███╗ █████╗ ████████╗██████╗ ██╗██╗ ██╗\n"
- + "╚══██╔══╝██║ ██║██╔════╝ ████╗ ████║██╔══██╗╚══██╔══╝██╔══██╗██║╚██╗██╔╝\n"
- + " ██║ ███████║█████╗ ██╔████╔██║███████║ ██║ ██████╔╝██║ ╚███╔╝ \n"
- + " ██║ ██╔══██║██╔══╝ ██║╚██╔╝██║██╔══██║ ██║ ██╔══██╗██║ ██╔██╗ \n"
- + " ██║ ██║ ██║███████╗ ██║ ╚═╝ ██║██║ ██║ ██║ ██║ ██║██║██╔╝ ██╗\n"
- + " ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝");
- }
-
- @Handler
- public String terminal(@Body String body) {
- return "Matrix » " + body;
- }
-
- void logout(@Observes @Named("terminal") RouteStoppedEvent event) {
- System.out.println(
- " __ \n"
- + " _____ _ _| | \n"
- + "| | |___ ___| |_ _ ___ ___ ___ _| | | \n"
- + "| | | | . | | | | . | . | -_| . |__| \n"
- + "|_____|_|_| _|_|___|_ |_ |___|___|__| \n"
- + " |_| |___|___| ");
- }
-
- void shutdown(@Observes @Destroyed(ApplicationScoped.class) Object event) {
- System.out.println(
- " _____ _ _ _ \n"
- + "| __| |_ _ _| |_ _| |___ _ _ _ ___ \n"
- + "|__ | | | | _| . | . | | | | |_ _ _ \n"
- + "|_____|_|_|___|_| |___|___|_____|_|_|_|_|_|");
- }
-}
diff --git a/examples/cdi-xml/src/main/resources/META-INF/LICENSE.txt b/examples/cdi-xml/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/examples/cdi-xml/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- 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/examples/cdi-xml/src/main/resources/META-INF/NOTICE.txt b/examples/cdi-xml/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/examples/cdi-xml/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
- =========================================================================
- == 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/examples/cdi-xml/src/main/resources/META-INF/beans.xml b/examples/cdi-xml/src/main/resources/META-INF/beans.xml
deleted file mode 100644
index 4d1f3eb..0000000
--- a/examples/cdi-xml/src/main/resources/META-INF/beans.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<beans/>
\ No newline at end of file
diff --git a/examples/cdi-xml/src/main/resources/camel-context.xml b/examples/cdi-xml/src/main/resources/camel-context.xml
deleted file mode 100644
index 4ca9768..0000000
--- a/examples/cdi-xml/src/main/resources/camel-context.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<camelContext id="cdi-camel-xml" errorHandlerRef="error-handler"
- xmlns="http://camel.apache.org/schema/spring"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://camel.apache.org/schema/spring
- http://camel.apache.org/schema/spring/camel-spring.xsd">
-
- <propertyPlaceholder location="classpath:config.properties"/>
-
- <errorHandler id="error-handler" type="DeadLetterChannel"
- deadLetterUri="direct:unplug"
- onPrepareFailureRef="tracer"/>
-
- <!-- Declare a named CDI bean that can be injected in the application -->
- <endpoint id="neo" uri="direct:neo"/>
-
- <route id="terminal">
- <!-- Read input from the console using the stream component -->
- <from uri="stream:in?promptDelay=1000&promptMessage=Which pill (red|blue)?: "/>
- <!-- To send messages to Neo -->
- <to uri="ref:neo"/>
- </route>
-
- <route id="matrix">
- <from uri="ref:neo"/>
- <choice>
- <when>
- <simple>${body} contains '{{poison}}'</simple>
- <throwException ref="morpheus"/>
- </when>
- <otherwise>
- <bean ref="matrix"/>
- <log message="${body}"/>
- </otherwise>
- </choice>
- </route>
-
- <route id="unplug">
- <from uri="direct:unplug"/>
- <!-- Let's disconnect from the matrix -->
- <to uri="controlbus:route?routeId=terminal&action=stop&async=true"/>
- <!-- And broadcast Neo's location thanks to the red pill tracing -->
- <log message="Neo has been located in ${exchangeProperty.CamelFailureRouteId}"/>
- <!-- For a rescue mission -->
- <to uri="stub:rescue"/>
- </route>
-
-</camelContext>
\ No newline at end of file
diff --git a/examples/cdi-xml/src/main/resources/config.properties b/examples/cdi-xml/src/main/resources/config.properties
deleted file mode 100644
index f2ad74f..0000000
--- a/examples/cdi-xml/src/main/resources/config.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements. See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License. You may obtain a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-poison=red
diff --git a/examples/cdi-xml/src/main/resources/log4j2.properties b/examples/cdi-xml/src/main/resources/log4j2.properties
deleted file mode 100644
index 9deb51c..0000000
--- a/examples/cdi-xml/src/main/resources/log4j2.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements. See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License. You may obtain a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-appender.console.type = Console
-appender.console.name = console
-appender.console.layout.type = PatternLayout
-appender.console.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.console.ref = console
diff --git a/examples/cdi-xml/src/test/java/org/apache/camel/example/cdi/xml/CdiXmlTest.java b/examples/cdi-xml/src/test/java/org/apache/camel/example/cdi/xml/CdiXmlTest.java
deleted file mode 100644
index dc3d621..0000000
--- a/examples/cdi-xml/src/test/java/org/apache/camel/example/cdi/xml/CdiXmlTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.example.cdi.xml;
-
-import java.util.concurrent.TimeUnit;
-
-import javax.enterprise.event.Observes;
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.ServiceStatus;
-import org.apache.camel.builder.AdviceWith;
-import org.apache.camel.builder.AdviceWithRouteBuilder;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.cdi.Uri;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.model.ModelCamelContext;
-import org.apache.camel.spi.CamelEvent.CamelContextStartedEvent;
-import org.apache.camel.test.cdi.CamelCdiRunner;
-import org.apache.camel.test.cdi.Order;
-import org.awaitility.Awaitility;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied;
-
-
-
-@RunWith(CamelCdiRunner.class)
-public class CdiXmlTest {
-
- @Named
- @Inject
- private Endpoint neo;
-
- @Inject
- private ProducerTemplate prompt;
-
- void pipeMatrixStream(@Observes CamelContextStartedEvent event,
- ModelCamelContext context) throws Exception {
- AdviceWith.adviceWith(context.getRouteDefinition("matrix"), context, new AdviceWithRouteBuilder() {
- @Override
- public void configure() {
- weaveAddLast().to("mock:matrix");
- }
- });
- }
-
- static class RescueMission extends RouteBuilder {
-
- @Override
- public void configure() {
- from("stub:rescue").routeId("rescue mission").to("mock:zion");
- }
- }
-
- @Test
- @Order(1)
- public void takeTheBluePill(@Uri("mock:matrix") MockEndpoint matrix) throws InterruptedException {
- matrix.expectedMessageCount(1);
- matrix.expectedBodiesReceived("Matrix » Take the blue pill!");
-
- prompt.sendBody(neo, "Take the blue pill!");
-
- assertIsSatisfied(2L, TimeUnit.SECONDS, matrix);
- }
-
- @Test
- @Order(2)
- public void takeTheRedPill(@Uri("mock:zion") MockEndpoint zion) throws InterruptedException {
- zion.expectedMessageCount(1);
- zion.expectedHeaderReceived("location", "matrix");
-
- prompt.sendBody(neo, "Take the red pill!");
-
- assertIsSatisfied(2L, TimeUnit.SECONDS, zion);
- }
-
- @Test
- @Order(3)
- public void verifyRescue(CamelContext context) {
- Awaitility.await("Neo is still in the matrix!")
- .atMost(5, TimeUnit.SECONDS)
- .until(() -> ServiceStatus.Stopped.equals(context.getRouteController().getRouteStatus("terminal")));
- }
-}
diff --git a/examples/micrometer/README.adoc b/examples/micrometer/README.adoc
deleted file mode 100644
index 6316c9e..0000000
--- a/examples/micrometer/README.adoc
+++ /dev/null
@@ -1,80 +0,0 @@
-== Spring Java Config Example
-
-=== Introduction
-
-This example shows how to work with Micrometer metrics, using Spring
-Java Config to boot up Camel, configure the routes and meters.
-
-The example triggers an exchange every 10s that runs through a route
-using a variable delay. The exchange is measured in various ways:
-
-* using Micrometer producers (timer and distribution summary)
-* using a Route Policy Factory
-* using Event Notifiers
-
-=== Build
-
-You will need to compile this example first:
-
-----
-$ mvn compile
-----
-
-=== Setup of Monitoring backend
-
-This example uses https://prometheus.io[Prometheus] as monitoring
-backend.
-
-* Download the package for your platform and unpack it on your local
-host
-* Edit the `+prometheus.yml+` file and append another `+scrape_config+`:
-
-----
-...
- - job_name: 'camel'
- static_configs:
- - targets: ['localhost:8088']
-----
-
-* Start up Prometheus
-
-Optionally, you can install a metrics visualizer,
-e.g. https://grafana.com/[Grafana]:
-
-* Download the package for your platform and unpack it on your local
-host
-* Add your Prometheus server as a data source
-* Import a https://grafana.com/dashboards/4701[suitable dashboard]
-* Add some graphs to display Camel metrics (this is out of scope for
-this example).
-
-=== Run
-
-To run the example type
-
-----
-$ mvn exec:java
-----
-
-* You can access http://localhost:8088/metrics in order to manually
-obtain the Micrometer output for Prometheus.
-* In Prometheus, you can
-https://prometheus.io/docs/prometheus/latest/querying/examples/[query]
-for one of the metrics related to Camel or the JVM.
-
-To stop the example hit Ctrl+c
-
-=== Configuration
-
-You can see the routing rules by looking at the java code in the
-`+src/main/java directory+`
-
-=== Help and contributions
-
-If you hit any problem using Camel or have some feedback, then please
-https://camel.apache.org/community/support/[let us know].
-
-We also love contributors, so
-https://camel.apache.org/community/contributing/[get involved] :-)
-
-The Camel riders!
diff --git a/examples/micrometer/pom.xml b/examples/micrometer/pom.xml
deleted file mode 100644
index 07c8436..0000000
--- a/examples/micrometer/pom.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.camel.example</groupId>
- <artifactId>examples</artifactId>
- <version>3.15.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>camel-example-micrometer</artifactId>
- <packaging>jar</packaging>
- <name>Camel :: Example :: Micrometer</name>
- <description>An example showing how to work with Camel, Spring Java Config and Micrometer monitoring</description>
-
- <properties>
- <category>Advanced</category>
- <title>Micrometer</title>
- </properties>
-
- <dependencyManagement>
- <dependencies>
- <!-- Add Camel BOM -->
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-bom</artifactId>
- <version>${camel.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-spring-xml</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-spring-javaconfig</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-micrometer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-netty-http</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-bean</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-direct</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-timer</artifactId>
- </dependency>
- <dependency>
- <groupId>io.micrometer</groupId>
- <artifactId>micrometer-registry-prometheus</artifactId>
- <version>${micrometer-version}</version>
- </dependency>
- <!-- logging -->
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>${log4j2-version}</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>${log4j2-version}</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j2-version}</version>
- <scope>runtime</scope>
- </dependency>
-
- <!-- for testing -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${junit-version}</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <plugins>
-
- <!-- START SNIPPET: example -->
-
- <!-- Allows the routes to be run via 'mvn exec:java' -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <configuration>
- <mainClass>org.apache.camel.example.micrometer.CamelPrometheusExample</mainClass>
- </configuration>
- </plugin>
- <!-- END SNIPPET: example -->
- </plugins>
- </build>
-
-</project>
diff --git a/examples/micrometer/src/main/java/org/apache/camel/example/micrometer/CamelPrometheusExample.java b/examples/micrometer/src/main/java/org/apache/camel/example/micrometer/CamelPrometheusExample.java
deleted file mode 100644
index ec21750..0000000
--- a/examples/micrometer/src/main/java/org/apache/camel/example/micrometer/CamelPrometheusExample.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.example.micrometer;
-
-import java.time.Duration;
-
-import io.micrometer.core.instrument.Tags;
-import io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics;
-import io.micrometer.core.instrument.binder.jvm.JvmGcMetrics;
-import io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics;
-import io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics;
-import io.micrometer.core.instrument.binder.system.ProcessorMetrics;
-import io.micrometer.prometheus.PrometheusConfig;
-import io.micrometer.prometheus.PrometheusMeterRegistry;
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.micrometer.DistributionStatisticConfigFilter;
-import org.apache.camel.component.micrometer.MicrometerConstants;
-import org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory;
-import org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicyFactory;
-import org.apache.camel.spring.javaconfig.CamelConfiguration;
-import org.apache.camel.spring.javaconfig.Main;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-
-import static org.apache.camel.component.micrometer.MicrometerConstants.DISTRIBUTION_SUMMARIES;
-import static org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryNamingStrategy.MESSAGE_HISTORIES;
-import static org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicyNamingStrategy.ROUTE_POLICIES;
-
-//START SNIPPET: CamelPrometheusExample
-
-@Configuration
-@ComponentScan
-public class CamelPrometheusExample extends CamelConfiguration {
-
- /**
- * Allow this route to be run as an application
- */
- public static void main(String[] args) throws Exception {
- Main main = new Main();
- main.setConfigClass(CamelPrometheusExample.class);
- main.run();
- }
-
- @Override
- protected void setupCamelContext(CamelContext camelContext) {
- camelContext.addRoutePolicyFactory(new MicrometerRoutePolicyFactory());
- camelContext.setMessageHistoryFactory(new MicrometerMessageHistoryFactory());
- }
-
- /**
- * Set up registry. When using Spring Boot, this is provided for you, and you have to provide
- * a bean of type MeterRegistryCustomizer in order to apply common tags, filters, etc.
- */
- @Bean(name = MicrometerConstants.METRICS_REGISTRY_NAME)
- public PrometheusMeterRegistry meterRegistry() {
-
- PrometheusMeterRegistry meterRegistry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
-
- DistributionStatisticConfigFilter timerMeterFilter = new DistributionStatisticConfigFilter()
- .andAppliesTo(ROUTE_POLICIES)
- .orAppliesTo(MESSAGE_HISTORIES)
- .setPublishPercentileHistogram(true)
- .setMinimumExpectedDuration(Duration.ofMillis(1L))
- .setMaximumExpectedDuration(Duration.ofMillis(150L));
-
- DistributionStatisticConfigFilter summaryMeterFilter = new DistributionStatisticConfigFilter()
- .andAppliesTo(DISTRIBUTION_SUMMARIES)
- .setPublishPercentileHistogram(true)
- .setMinimumExpectedValue(1L)
- .setMaximumExpectedValue(100L);
-
- meterRegistry.config()
- // Application name. Required by Grafana JVM Dashboard 4701.
- .commonTags(Tags.of("application", "CamelPrometheusExample"))
- .meterFilter(timerMeterFilter)
- .meterFilter(summaryMeterFilter);
-
- // Add JVM metrics. Using Spring Boot, these are added automatically
-
- new ClassLoaderMetrics().bindTo(meterRegistry);
- new JvmMemoryMetrics().bindTo(meterRegistry);
- new JvmGcMetrics().bindTo(meterRegistry);
- new ProcessorMetrics().bindTo(meterRegistry);
- new JvmThreadMetrics().bindTo(meterRegistry);
-
- return meterRegistry;
- }
-
-}
-//END SNIPPET: CamelPrometheusExample
-
diff --git a/examples/micrometer/src/main/java/org/apache/camel/example/micrometer/ScheduledRouteBuilder.java b/examples/micrometer/src/main/java/org/apache/camel/example/micrometer/ScheduledRouteBuilder.java
deleted file mode 100644
index 7928fea..0000000
--- a/examples/micrometer/src/main/java/org/apache/camel/example/micrometer/ScheduledRouteBuilder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.example.micrometer;
-
-import java.util.Random;
-
-import org.apache.camel.LoggingLevel;
-import org.apache.camel.builder.RouteBuilder;
-import org.springframework.stereotype.Component;
-
-@Component
-public class ScheduledRouteBuilder extends RouteBuilder {
-
- static final String TIMER_ROUTE_ID = "timer:foo";
- private Random random = new Random(System.currentTimeMillis());
-
- @Override
- public void configure() throws Exception {
- from("timer:foo?period=1000&fixedRate=true")
- .routeId(TIMER_ROUTE_ID)
- .setHeader("random").exchange(exchange -> random.nextInt(100))
- .log(LoggingLevel.INFO, "Delay is ${header.random}")
- .to("direct:bar");
-
- from("direct:bar")
- .routeId("direct:bar")
- .to("micrometer:summary:summary?value=${header.random}")
- .to("micrometer:timer:timer?action=start")
- .delay().exchange(exchange -> random.nextInt(100))
- .to("micrometer:timer:timer?action=stop");
- }
-}
diff --git a/examples/micrometer/src/main/java/org/apache/camel/example/micrometer/ScrapeRouteBuilder.java b/examples/micrometer/src/main/java/org/apache/camel/example/micrometer/ScrapeRouteBuilder.java
deleted file mode 100644
index 752ba09..0000000
--- a/examples/micrometer/src/main/java/org/apache/camel/example/micrometer/ScrapeRouteBuilder.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.example.micrometer;
-
-import io.micrometer.prometheus.PrometheusMeterRegistry;
-import org.apache.camel.LoggingLevel;
-import org.apache.camel.builder.RouteBuilder;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-/**
- * Route Builder that exposes the endpoint used by Prometheus to scrape
- * monitoring data from the Camel application. When running in a Spring
- * Boot 2.x environment, this is not required as Spring Boot already exposes
- * this endpoint by default.
- */
-@Component
-public class ScrapeRouteBuilder extends RouteBuilder {
-
- private final PrometheusMeterRegistry prometheusMeterRegistry;
-
- @Autowired
- public ScrapeRouteBuilder(PrometheusMeterRegistry prometheusMeterRegistry) {
- this.prometheusMeterRegistry = prometheusMeterRegistry;
- }
-
- @Override
- public void configure() throws Exception {
- from("netty-http:http://0.0.0.0:8088/metrics")
- .routeId("netty-http:scrape")
- .log(LoggingLevel.INFO, "Scraping metrics")
- .transform().method(prometheusMeterRegistry, "scrape()");
-
- }
-}
diff --git a/examples/micrometer/src/main/resources/META-INF/LICENSE.txt b/examples/micrometer/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/examples/micrometer/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- 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/examples/micrometer/src/main/resources/META-INF/NOTICE.txt b/examples/micrometer/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/examples/micrometer/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
- =========================================================================
- == 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/examples/micrometer/src/main/resources/log4j2.properties b/examples/micrometer/src/main/resources/log4j2.properties
deleted file mode 100644
index f02e7ae..0000000
--- a/examples/micrometer/src/main/resources/log4j2.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements. See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License. You may obtain a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-appender.stdout.type = Console
-appender.stdout.name = stdout
-appender.stdout.layout.type = PatternLayout
-appender.stdout.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.stdout.ref = stdout
diff --git a/examples/micrometer/src/test/java/org/apache/camel/example/micrometer/IntegrationTest.java b/examples/micrometer/src/test/java/org/apache/camel/example/micrometer/IntegrationTest.java
deleted file mode 100644
index 7a5d306..0000000
--- a/examples/micrometer/src/test/java/org/apache/camel/example/micrometer/IntegrationTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.example.micrometer;
-
-import org.apache.camel.spring.javaconfig.Main;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class IntegrationTest extends Assert {
-
- @Test
- public void testCamelRulesDeployCorrectlyInSpring() throws Exception {
- // let's boot up the Spring application context for 2 seconds to check that it works OK
- Main.main("-duration", "2s", "-cc", "CamelPrometheusExample", "-bp", "org.apache.camel.example.micrometer");
- }
-
-}
diff --git a/examples/pom.xml b/examples/pom.xml
index 06df52f..98eabae 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -96,7 +96,6 @@
<module>cassandra-kubernetes</module>
<module>cdi</module>
<module>cdi-test</module>
- <module>cdi-xml</module>
<module>console</module>
<module>couchbase-log</module>
<module>csimple</module>
@@ -134,7 +133,6 @@
<module>main-xml</module>
<module>main-yaml</module>
<module>management</module>
- <module>micrometer</module>
<module>mongodb</module>
<module>netty-custom-correlation</module>
<module>oaipmh</module>