From d4f728f093bdcfbdb189907e68c27a9c029b40fc Mon Sep 17 00:00:00 2001 From: Croway Date: Fri, 10 Apr 2026 14:43:27 +0200 Subject: [PATCH] chore: upgrade opentelemetry example to camel-opentelemetry2 Migrate the opentelemetry example from the deprecated camel-opentelemetry to camel-opentelemetry2. Changes: - Replace camel-opentelemetry-starter with camel-opentelemetry2-starter - Replace @CamelOpenTelemetry with @CamelOpenTelemetry2 - Fix Kafka broker URLs for host-to-Docker connectivity - Remove stale/unused properties (opentracing, jaeger, etc.) Note: the async (Kafka) trace context propagation is currently broken in camel-opentelemetry2 due to a missing byte[] header handling in camel-telemetry's AbstractMessagingSpanDecorator. A fix has been proposed in Apache Camel. --- opentelemetry/CarBooking/pom.xml | 7 +++---- .../main/java/com/example/demo/DemoApplication.java | 4 ++-- .../java/com/example/demo/MySimpleCamelRouter.java | 4 ++-- opentelemetry/FlightBooking/pom.xml | 8 ++------ .../main/java/com/example/demo/DemoApplication.java | 4 ++-- .../java/com/example/demo/MySimpleCamelRouter.java | 4 ++-- opentelemetry/HotelBooking/pom.xml | 5 ++--- .../main/java/com/example/demo/DemoApplication.java | 4 ++-- .../java/com/example/demo/MySimpleCamelRouter.java | 4 ++-- opentelemetry/TripBooking/pom.xml | 5 ++--- .../main/java/com/example/demo/DemoApplication.java | 4 ++-- .../java/com/example/demo/MySimpleCamelRouter.java | 12 ++++++------ opentelemetry/containers/compose.yaml | 4 +++- 13 files changed, 32 insertions(+), 37 deletions(-) diff --git a/opentelemetry/CarBooking/pom.xml b/opentelemetry/CarBooking/pom.xml index 3d375aa13..1d56282d0 100644 --- a/opentelemetry/CarBooking/pom.xml +++ b/opentelemetry/CarBooking/pom.xml @@ -32,7 +32,6 @@ An example showing how to use Camel with OpenTelemetry - 3.3.1 1.25.1 @@ -88,7 +87,7 @@ org.apache.camel.springboot - camel-jackson3-starter + camel-jackson3-starter org.apache.camel.springboot @@ -119,7 +118,7 @@ org.apache.camel.springboot - camel-opentelemetry-starter + camel-opentelemetry2-starter @@ -168,4 +167,4 @@ - + diff --git a/opentelemetry/CarBooking/src/main/java/com/example/demo/DemoApplication.java b/opentelemetry/CarBooking/src/main/java/com/example/demo/DemoApplication.java index b23a2d661..066cc408f 100644 --- a/opentelemetry/CarBooking/src/main/java/com/example/demo/DemoApplication.java +++ b/opentelemetry/CarBooking/src/main/java/com/example/demo/DemoApplication.java @@ -16,11 +16,11 @@ */ package com.example.demo; -import org.apache.camel.opentelemetry.starter.CamelOpenTelemetry; +import org.apache.camel.opentelemetry2.starter.CamelOpenTelemetry2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -@CamelOpenTelemetry +@CamelOpenTelemetry2 @SpringBootApplication public class DemoApplication { diff --git a/opentelemetry/CarBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java b/opentelemetry/CarBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java index c34bf3308..dbbb7f3ca 100644 --- a/opentelemetry/CarBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java +++ b/opentelemetry/CarBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java @@ -39,10 +39,10 @@ public void configure() throws Exception { .unmarshal().json(JsonLibrary.Jackson); // kafka based - from("kafka:car_input?brokers=kafka:9092").routeId("bookCar-kafka") + from("kafka:car_input?brokers=localhost:9092").routeId("bookCar-kafka") .log(LoggingLevel.INFO, "New book car request via Kafka topic") .bean(new AvailableCars(),"getAvailableCar") - .to("kafka:car_output?brokers=kafka:9092"); + .to("kafka:car_output?brokers=localhost:9092"); } } \ No newline at end of file diff --git a/opentelemetry/FlightBooking/pom.xml b/opentelemetry/FlightBooking/pom.xml index a79b68838..990812c0f 100644 --- a/opentelemetry/FlightBooking/pom.xml +++ b/opentelemetry/FlightBooking/pom.xml @@ -31,10 +31,6 @@ An example showing how to use Camel with OpenTelemetry - 11 - 3.14.1 - 1.6.0 - 3.3.1 1.25.1 @@ -87,7 +83,7 @@ org.apache.camel.springboot - camel-jackson3-starter + camel-jackson3-starter org.apache.camel.springboot @@ -113,7 +109,7 @@ org.apache.camel.springboot - camel-opentelemetry-starter + camel-opentelemetry2-starter diff --git a/opentelemetry/FlightBooking/src/main/java/com/example/demo/DemoApplication.java b/opentelemetry/FlightBooking/src/main/java/com/example/demo/DemoApplication.java index 1987d34a6..066cc408f 100644 --- a/opentelemetry/FlightBooking/src/main/java/com/example/demo/DemoApplication.java +++ b/opentelemetry/FlightBooking/src/main/java/com/example/demo/DemoApplication.java @@ -16,11 +16,11 @@ */ package com.example.demo; +import org.apache.camel.opentelemetry2.starter.CamelOpenTelemetry2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.apache.camel.opentelemetry.starter.CamelOpenTelemetry; -@CamelOpenTelemetry +@CamelOpenTelemetry2 @SpringBootApplication public class DemoApplication { diff --git a/opentelemetry/FlightBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java b/opentelemetry/FlightBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java index 5228d1c5c..5678702af 100644 --- a/opentelemetry/FlightBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java +++ b/opentelemetry/FlightBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java @@ -40,10 +40,10 @@ public void configure() throws Exception { .unmarshal().json(JsonLibrary.Jackson); // kafka based - from("kafka:flight_input?brokers=kafka:9092").routeId("bookFlight-kafka") + from("kafka:flight_input?brokers=localhost:9092").routeId("bookFlight-kafka") .log(LoggingLevel.INFO, "New book flight request via Kafka topic") .bean(new AvailableFlights(),"getAvailableFlight") - .to("kafka:flight_output?brokers=kafka:9092"); + .to("kafka:flight_output?brokers=localhost:9092"); } } \ No newline at end of file diff --git a/opentelemetry/HotelBooking/pom.xml b/opentelemetry/HotelBooking/pom.xml index f2e43b608..1e3d99a53 100644 --- a/opentelemetry/HotelBooking/pom.xml +++ b/opentelemetry/HotelBooking/pom.xml @@ -32,7 +32,6 @@ An example showing how to use Camel with OpenTelemetry - 3.3.1 1.25.1 @@ -85,7 +84,7 @@ org.apache.camel.springboot - camel-jackson3-starter + camel-jackson3-starter org.apache.camel.springboot @@ -111,7 +110,7 @@ org.apache.camel.springboot - camel-opentelemetry-starter + camel-opentelemetry2-starter diff --git a/opentelemetry/HotelBooking/src/main/java/com/example/demo/DemoApplication.java b/opentelemetry/HotelBooking/src/main/java/com/example/demo/DemoApplication.java index 1987d34a6..066cc408f 100644 --- a/opentelemetry/HotelBooking/src/main/java/com/example/demo/DemoApplication.java +++ b/opentelemetry/HotelBooking/src/main/java/com/example/demo/DemoApplication.java @@ -16,11 +16,11 @@ */ package com.example.demo; +import org.apache.camel.opentelemetry2.starter.CamelOpenTelemetry2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.apache.camel.opentelemetry.starter.CamelOpenTelemetry; -@CamelOpenTelemetry +@CamelOpenTelemetry2 @SpringBootApplication public class DemoApplication { diff --git a/opentelemetry/HotelBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java b/opentelemetry/HotelBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java index 85f4c943b..42554abc3 100644 --- a/opentelemetry/HotelBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java +++ b/opentelemetry/HotelBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java @@ -39,9 +39,9 @@ public void configure() throws Exception { .unmarshal().json(JsonLibrary.Jackson); // kafka based - from("kafka:hotel_input?brokers=kafka:9092").routeId("bookHotel-kafka") + from("kafka:hotel_input?brokers=localhost:9092").routeId("bookHotel-kafka") .log(LoggingLevel.INFO, "New book hotel request via Kafka topic") .bean(new AvailableHotels(),"getAvailableHotel") - .to("kafka:hotel_output?brokers=kafka:9092"); + .to("kafka:hotel_output?brokers=localhost:9092"); } } \ No newline at end of file diff --git a/opentelemetry/TripBooking/pom.xml b/opentelemetry/TripBooking/pom.xml index bee6b12a8..1140e1787 100644 --- a/opentelemetry/TripBooking/pom.xml +++ b/opentelemetry/TripBooking/pom.xml @@ -32,7 +32,6 @@ An example showing how to use Camel with OpenTelemetry - 3.3.1 1.25.1 @@ -81,7 +80,7 @@ org.apache.camel.springboot - camel-jackson3-starter + camel-jackson3-starter org.apache.camel.springboot @@ -111,7 +110,7 @@ org.apache.camel.springboot - camel-opentelemetry-starter + camel-opentelemetry2-starter diff --git a/opentelemetry/TripBooking/src/main/java/com/example/demo/DemoApplication.java b/opentelemetry/TripBooking/src/main/java/com/example/demo/DemoApplication.java index 1987d34a6..066cc408f 100644 --- a/opentelemetry/TripBooking/src/main/java/com/example/demo/DemoApplication.java +++ b/opentelemetry/TripBooking/src/main/java/com/example/demo/DemoApplication.java @@ -16,11 +16,11 @@ */ package com.example.demo; +import org.apache.camel.opentelemetry2.starter.CamelOpenTelemetry2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.apache.camel.opentelemetry.starter.CamelOpenTelemetry; -@CamelOpenTelemetry +@CamelOpenTelemetry2 @SpringBootApplication public class DemoApplication { diff --git a/opentelemetry/TripBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java b/opentelemetry/TripBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java index bc46b5d44..66b70ca4c 100644 --- a/opentelemetry/TripBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java +++ b/opentelemetry/TripBooking/src/main/java/com/example/demo/MySimpleCamelRouter.java @@ -54,14 +54,14 @@ public void configure() throws Exception { // .to("log:debug?showAll=true&multiline=true") .setBody(simple("New async request ${header.x-b3-traceid}")) .multicast().parallelProcessing() - .to("kafka:car_input?brokers=kafka:9092") - .to("kafka:flight_input?brokers=kafka:9092") - .to("kafka:hotel_input?brokers=kafka:9092") + .to("kafka:car_input?brokers=localhost:9092") + .to("kafka:flight_input?brokers=localhost:9092") + .to("kafka:hotel_input?brokers=localhost:9092") .end(); - from("kafka:car_output?brokers=kafka:9092").to("seda:tripAggregator"); - from("kafka:flight_output?brokers=kafka:9092").to("seda:tripAggregator"); - from("kafka:hotel_output?brokers=kafka:9092").to("seda:tripAggregator"); + from("kafka:car_output?brokers=localhost:9092").to("seda:tripAggregator"); + from("kafka:flight_output?brokers=localhost:9092").to("seda:tripAggregator"); + from("kafka:hotel_output?brokers=localhost:9092").to("seda:tripAggregator"); from("seda:tripAggregator").routeId("bookTrip-kafka-response") .aggregate(constant(true), new MergeAggregationStrategy()) diff --git a/opentelemetry/containers/compose.yaml b/opentelemetry/containers/compose.yaml index 27e6946a2..dd7847c53 100644 --- a/opentelemetry/containers/compose.yaml +++ b/opentelemetry/containers/compose.yaml @@ -20,7 +20,9 @@ services: environment: - KAFKA_BROKER_ID=1 - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 - - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 + - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT + - KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:29092,PLAINTEXT_HOST://0.0.0.0:9092 + - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 jaeger: image: jaegertracing/all-in-one:1.25