diff --git a/adapter-base/src/main/java/org/eclipse/hono/adapter/AbstractProtocolAdapterApplication.java b/adapter-base/src/main/java/org/eclipse/hono/adapter/AbstractProtocolAdapterApplication.java
index fd4f6b83fb..9daec796a3 100644
--- a/adapter-base/src/main/java/org/eclipse/hono/adapter/AbstractProtocolAdapterApplication.java
+++ b/adapter-base/src/main/java/org/eclipse/hono/adapter/AbstractProtocolAdapterApplication.java
@@ -19,8 +19,6 @@
import java.util.Optional;
import java.util.concurrent.Executors;
-import javax.inject.Inject;
-
import org.eclipse.hono.adapter.monitoring.ConnectionEventProducer;
import org.eclipse.hono.adapter.monitoring.ConnectionEventProducerConfig;
import org.eclipse.hono.adapter.monitoring.ConnectionEventProducerOptions;
@@ -104,6 +102,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.ext.web.client.WebClient;
import io.vertx.ext.web.client.WebClientOptions;
+import jakarta.inject.Inject;
/**
* A Quarkus main application base class for Hono protocol adapters.
diff --git a/adapters/amqp/pom.xml b/adapters/amqp/pom.xml
index 2041de2e20..d13021b329 100644
--- a/adapters/amqp/pom.xml
+++ b/adapters/amqp/pom.xml
@@ -1,6 +1,6 @@
diff --git a/adapters/amqp/src/main/java/org/eclipse/hono/adapter/amqp/app/Application.java b/adapters/amqp/src/main/java/org/eclipse/hono/adapter/amqp/app/Application.java
index ed88b503a2..6a40c4222b 100644
--- a/adapters/amqp/src/main/java/org/eclipse/hono/adapter/amqp/app/Application.java
+++ b/adapters/amqp/src/main/java/org/eclipse/hono/adapter/amqp/app/Application.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2021, 2022 Contributors to the Eclipse Foundation
+ * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
@@ -12,14 +12,14 @@
*/
package org.eclipse.hono.adapter.amqp.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-
import org.eclipse.hono.adapter.AbstractProtocolAdapterApplication;
import org.eclipse.hono.adapter.amqp.AmqpAdapterMetrics;
import org.eclipse.hono.adapter.amqp.AmqpAdapterProperties;
import org.eclipse.hono.adapter.amqp.VertxBasedAmqpProtocolAdapter;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+
/**
* The Hono AMQP adapter main application class.
*/
diff --git a/adapters/amqp/src/main/java/org/eclipse/hono/adapter/amqp/app/MetricsFactory.java b/adapters/amqp/src/main/java/org/eclipse/hono/adapter/amqp/app/MetricsFactory.java
index 24deed6c10..23511f8c54 100644
--- a/adapters/amqp/src/main/java/org/eclipse/hono/adapter/amqp/app/MetricsFactory.java
+++ b/adapters/amqp/src/main/java/org/eclipse/hono/adapter/amqp/app/MetricsFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2021, 2022 Contributors to the Eclipse Foundation
+ * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
@@ -12,10 +12,6 @@
*/
package org.eclipse.hono.adapter.amqp.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
-import javax.inject.Singleton;
-
import org.eclipse.hono.adapter.amqp.AmqpAdapterOptions;
import org.eclipse.hono.adapter.amqp.AmqpAdapterProperties;
import org.eclipse.hono.adapter.amqp.MicrometerBasedAmqpAdapterMetrics;
@@ -25,6 +21,9 @@
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.config.MeterFilter;
import io.vertx.core.Vertx;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
+import jakarta.inject.Singleton;
/**
* A factory class that creates protocol adapter specific metrics.
diff --git a/adapters/amqp/src/main/resources/META-INF/native-image/org.eclipse.hono/hono-adapter-amqp/native-image.properties b/adapters/amqp/src/main/resources/META-INF/native-image/org.eclipse.hono/hono-adapter-amqp/native-image.properties
new file mode 100644
index 0000000000..7887b76e12
--- /dev/null
+++ b/adapters/amqp/src/main/resources/META-INF/native-image/org.eclipse.hono/hono-adapter-amqp/native-image.properties
@@ -0,0 +1,12 @@
+# Copyright (c) 2023 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Eclipse Public License 2.0 which is available at
+# http://www.eclipse.org/legal/epl-2.0
+#
+# SPDX-License-Identifier: EPL-2.0
+
+Args = -H:+RunReachabilityHandlersConcurrently
diff --git a/adapters/coap/pom.xml b/adapters/coap/pom.xml
index 7e0cdfdc7e..0e79badcce 100644
--- a/adapters/coap/pom.xml
+++ b/adapters/coap/pom.xml
@@ -1,6 +1,6 @@
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/Application.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/Application.java
index ce4a4d9ba9..e6f5f92122 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/Application.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/Application.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2021, 2022 Contributors to the Eclipse Foundation
+ * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
@@ -15,10 +15,6 @@
import java.util.ArrayList;
import java.util.List;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-
import org.eclipse.hono.adapter.AbstractProtocolAdapterApplication;
import org.eclipse.hono.adapter.http.HttpAdapterMetrics;
import org.eclipse.hono.adapter.http.HttpProtocolAdapterProperties;
@@ -27,6 +23,9 @@
import org.eclipse.hono.adapter.lora.providers.LoraProvider;
import io.vertx.ext.web.client.WebClient;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Instance;
+import jakarta.inject.Inject;
/**
* The Hono Lora adapter main application class.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/LoraCommandSubscriptionsFactory.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/LoraCommandSubscriptionsFactory.java
index d4174ba90d..fe7a3c8cda 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/LoraCommandSubscriptionsFactory.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/LoraCommandSubscriptionsFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2022 Contributors to the Eclipse Foundation
+ * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
@@ -13,14 +13,13 @@
package org.eclipse.hono.adapter.lora.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
-import javax.inject.Singleton;
-
import org.eclipse.hono.adapter.lora.LoraCommandSubscriptions;
import io.opentracing.Tracer;
import io.vertx.core.Vertx;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
+import jakarta.inject.Singleton;
/**
* A factory class that creates Lora adapter command subscriptions class. It'll always be a {@link Singleton}.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/MetricsFactory.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/MetricsFactory.java
index 315c8d6078..b3ca722fef 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/MetricsFactory.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/app/MetricsFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2021, 2022 Contributors to the Eclipse Foundation
+ * Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
@@ -12,10 +12,6 @@
*/
package org.eclipse.hono.adapter.lora.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
-import javax.inject.Singleton;
-
import org.eclipse.hono.adapter.http.HttpProtocolAdapterOptions;
import org.eclipse.hono.adapter.http.HttpProtocolAdapterProperties;
import org.eclipse.hono.adapter.http.MicrometerBasedHttpAdapterMetrics;
@@ -26,6 +22,9 @@
import io.micrometer.core.instrument.config.MeterFilter;
import io.smallrye.config.ConfigMapping;
import io.vertx.core.Vertx;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
+import jakarta.inject.Singleton;
/**
* A factory class that creates protocol adapter specific metrics.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ActilityEnterpriseProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ActilityEnterpriseProvider.java
index 66cc97f545..fe96493429 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ActilityEnterpriseProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ActilityEnterpriseProvider.java
@@ -16,13 +16,12 @@
import java.util.Optional;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMetaData;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Actility Enterprise.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ActilityWirelessProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ActilityWirelessProvider.java
index e5ca138314..46a022be81 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ActilityWirelessProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ActilityWirelessProvider.java
@@ -16,13 +16,12 @@
import java.util.Optional;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMetaData;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Actility Wireless.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ChirpStackProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ChirpStackProvider.java
index 4270f91c29..401a7bcc21 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ChirpStackProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ChirpStackProvider.java
@@ -18,8 +18,6 @@
import java.util.Objects;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -29,6 +27,7 @@
import io.vertx.core.http.HttpHeaders;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for ChirpStack.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ChirpStackV4Provider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ChirpStackV4Provider.java
index 709e3d8842..b0bb84bcd9 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ChirpStackV4Provider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ChirpStackV4Provider.java
@@ -20,8 +20,6 @@
import java.util.Set;
import java.util.stream.Collectors;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -31,6 +29,7 @@
import io.vertx.core.http.HttpHeaders;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for ChirpStack v4.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/EverynetProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/EverynetProvider.java
index d06107cb5a..d904dcc03e 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/EverynetProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/EverynetProvider.java
@@ -18,8 +18,6 @@
import java.util.Optional;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -28,6 +26,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.http.HttpMethod;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Everynet.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/FireflyProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/FireflyProvider.java
index 8581fd4c6c..e2610c425f 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/FireflyProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/FireflyProvider.java
@@ -16,8 +16,6 @@
import java.util.Objects;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -27,6 +25,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Firefly.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/KerlinkProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/KerlinkProvider.java
index c26b355790..6481fa1ee2 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/KerlinkProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/KerlinkProvider.java
@@ -18,8 +18,6 @@
import java.util.Optional;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -29,6 +27,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Kerlink.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/KerlinkProviderCustomContentType.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/KerlinkProviderCustomContentType.java
index 84e4898eee..a843047237 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/KerlinkProviderCustomContentType.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/KerlinkProviderCustomContentType.java
@@ -17,12 +17,11 @@
import java.util.Objects;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.LoraMessageType;
import io.vertx.core.buffer.Buffer;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Kerlink.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/LiveObjectsProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/LiveObjectsProvider.java
index 524ab51523..4d28f091d6 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/LiveObjectsProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/LiveObjectsProvider.java
@@ -18,8 +18,6 @@
import java.util.Optional;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
import org.eclipse.hono.util.MessageHelper;
@@ -29,6 +27,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.http.HttpHeaders;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for LiveObjectsProvider.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/LoriotProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/LoriotProvider.java
index de220bdab4..5032dabc60 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/LoriotProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/LoriotProvider.java
@@ -20,8 +20,6 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -35,6 +33,7 @@
import io.vertx.core.http.HttpHeaders;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Loriot.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/MultiTechProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/MultiTechProvider.java
index aac4b2468b..d54ef5a9cc 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/MultiTechProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/MultiTechProvider.java
@@ -18,8 +18,6 @@
import java.util.Objects;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -28,6 +26,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.http.HttpHeaders;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for MultiTechProvider.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ObjeniousProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ObjeniousProvider.java
index 234d5ac4fe..9e0dad8da9 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ObjeniousProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ObjeniousProvider.java
@@ -17,8 +17,6 @@
import java.util.Optional;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -27,6 +25,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Objenious.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/OrbiwiseProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/OrbiwiseProvider.java
index e8b81c9516..57f4e3462b 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/OrbiwiseProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/OrbiwiseProvider.java
@@ -17,8 +17,6 @@
import java.util.Objects;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -28,6 +26,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Orbiwise.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ProximusProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ProximusProvider.java
index a148532773..3807dd6ed9 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ProximusProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ProximusProvider.java
@@ -17,8 +17,6 @@
import java.util.Optional;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -27,6 +25,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Proximus.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/TheThingsStackProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/TheThingsStackProvider.java
index 273dadce60..4e82fe8122 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/TheThingsStackProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/TheThingsStackProvider.java
@@ -18,8 +18,6 @@
import java.util.Optional;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -29,6 +27,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for The Thing Stack.
diff --git a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ThingsNetworkProvider.java b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ThingsNetworkProvider.java
index 2007efb841..855033547c 100644
--- a/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ThingsNetworkProvider.java
+++ b/adapters/lora/src/main/java/org/eclipse/hono/adapter/lora/providers/ThingsNetworkProvider.java
@@ -20,8 +20,6 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.enterprise.context.ApplicationScoped;
-
import org.eclipse.hono.adapter.lora.GatewayInfo;
import org.eclipse.hono.adapter.lora.LoraMessageType;
import org.eclipse.hono.adapter.lora.LoraMetaData;
@@ -31,6 +29,7 @@
import io.vertx.core.buffer.Buffer;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
+import jakarta.enterprise.context.ApplicationScoped;
/**
* A LoRaWAN provider with API for Things Network.
diff --git a/adapters/lora/src/main/resources/META-INF/native-image/org.eclipse.hono/hono-adapter-lora/native-image.properties b/adapters/lora/src/main/resources/META-INF/native-image/org.eclipse.hono/hono-adapter-lora/native-image.properties
new file mode 100644
index 0000000000..7887b76e12
--- /dev/null
+++ b/adapters/lora/src/main/resources/META-INF/native-image/org.eclipse.hono/hono-adapter-lora/native-image.properties
@@ -0,0 +1,12 @@
+# Copyright (c) 2023 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Eclipse Public License 2.0 which is available at
+# http://www.eclipse.org/legal/epl-2.0
+#
+# SPDX-License-Identifier: EPL-2.0
+
+Args = -H:+RunReachabilityHandlersConcurrently
diff --git a/adapters/mqtt/src/main/java/org/eclipse/hono/adapter/mqtt/app/Application.java b/adapters/mqtt/src/main/java/org/eclipse/hono/adapter/mqtt/app/Application.java
index fb93074e2c..c31bc1f83d 100644
--- a/adapters/mqtt/src/main/java/org/eclipse/hono/adapter/mqtt/app/Application.java
+++ b/adapters/mqtt/src/main/java/org/eclipse/hono/adapter/mqtt/app/Application.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2020, 2022 Contributors to the Eclipse Foundation
+ * Copyright (c) 2020, 2023 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
@@ -12,9 +12,6 @@
*/
package org.eclipse.hono.adapter.mqtt.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-
import org.eclipse.hono.adapter.AbstractProtocolAdapterApplication;
import org.eclipse.hono.adapter.mqtt.MessageMapping;
import org.eclipse.hono.adapter.mqtt.MqttAdapterMetrics;
@@ -24,6 +21,8 @@
import org.eclipse.hono.adapter.mqtt.impl.VertxBasedMqttProtocolAdapter;
import io.vertx.ext.web.client.WebClient;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
/**
* The Hono MQTT adapter main application class.
diff --git a/adapters/mqtt/src/main/java/org/eclipse/hono/adapter/mqtt/app/MetricsFactory.java b/adapters/mqtt/src/main/java/org/eclipse/hono/adapter/mqtt/app/MetricsFactory.java
index 3512e7f876..3d441c7fd9 100644
--- a/adapters/mqtt/src/main/java/org/eclipse/hono/adapter/mqtt/app/MetricsFactory.java
+++ b/adapters/mqtt/src/main/java/org/eclipse/hono/adapter/mqtt/app/MetricsFactory.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2020, 2022 Contributors to the Eclipse Foundation
+ * Copyright (c) 2020, 2023 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
@@ -12,10 +12,6 @@
*/
package org.eclipse.hono.adapter.mqtt.app;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
-import javax.inject.Singleton;
-
import org.eclipse.hono.adapter.mqtt.MicrometerBasedMqttAdapterMetrics;
import org.eclipse.hono.adapter.mqtt.MqttProtocolAdapterOptions;
import org.eclipse.hono.adapter.mqtt.MqttProtocolAdapterProperties;
@@ -25,6 +21,9 @@
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.config.MeterFilter;
import io.vertx.core.Vertx;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.Produces;
+import jakarta.inject.Singleton;
/**
* A factory class that creates protocol adapter specific metrics.
diff --git a/adapters/mqtt/src/main/resources/META-INF/native-image/org.eclipse.hono/hono-adapter-mqtt/native-image.properties b/adapters/mqtt/src/main/resources/META-INF/native-image/org.eclipse.hono/hono-adapter-mqtt/native-image.properties
new file mode 100644
index 0000000000..7887b76e12
--- /dev/null
+++ b/adapters/mqtt/src/main/resources/META-INF/native-image/org.eclipse.hono/hono-adapter-mqtt/native-image.properties
@@ -0,0 +1,12 @@
+# Copyright (c) 2023 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Eclipse Public License 2.0 which is available at
+# http://www.eclipse.org/legal/epl-2.0
+#
+# SPDX-License-Identifier: EPL-2.0
+
+Args = -H:+RunReachabilityHandlersConcurrently
diff --git a/adapters/parent/pom.xml b/adapters/parent/pom.xml
index 685557ad58..59eccefa6e 100644
--- a/adapters/parent/pom.xml
+++ b/adapters/parent/pom.xml
@@ -1,6 +1,6 @@
@@ -81,8 +78,6 @@ quarkus.micrometer.binder.kafka.enabled=false
quarkus.micrometer.binder.system=true
quarkus.micrometer.binder.vertx.enabled=true
quarkus.micrometer.export.prometheus.path=/prometheus
-# Hono custom Sampler shall not be wrapped by parent-based Sampler
-quarkus.opentelemetry.tracer.sampler.parent-based=false
quarkus.smallrye-health.root-path=${health.check.root-path}
quarkus.smallrye-health.liveness-path=${health.check.liveness-path}
quarkus.smallrye-health.readiness-path=${health.check.readiness-path}
@@ -193,7 +188,6 @@ quarkus.devservices.enabled=false
# app id
quarkus.application.name=${app.id}
# Log setup
-quarkus.log.console.color=true
quarkus.log.level=INFO
quarkus.log.category."io.quarkus.vertx.core.runtime".level=DEBUG
quarkus.log.category."org.eclipse.hono".level=${hono.debug.level:INFO}
@@ -500,108 +494,6 @@ quarkus.vertx.max-event-loop-execute-time=${max.event-loop.execute-time:20000}
${spring-security-crypto.version}
-
-
- io.vertx
- vertx-core
- ${vertx.version}
-
-
- io.vertx
- vertx-proton
- ${vertx.version}
-
-
- io.vertx
- vertx-mqtt
- ${vertx.version}
-
-
- io.vertx
- vertx-web
- ${vertx.version}
-
-
- io.vertx
- vertx-bridge-common
- ${vertx.version}
-
-
- io.vertx
- vertx-web-common
- ${vertx.version}
-
-
- io.vertx
- vertx-web-client
- ${vertx.version}
-
-
- io.vertx
- vertx-auth-common
- ${vertx.version}
-
-
- io.vertx
- vertx-auth-jdbc
- ${vertx.version}
-
-
- io.vertx
- vertx-health-check
- ${vertx.version}
-
-
- io.vertx
- vertx-micrometer-metrics
- ${vertx.version}
- runtime
-
-
- io.vertx
- vertx-jdbc-client
- ${vertx.version}
-
-
- io.vertx
- vertx-sql-client
- ${vertx.version}
-
-
- io.vertx
- vertx-auth-mongo
- ${vertx.version}
-
-
- io.vertx
- vertx-mongo-client
- ${vertx.version}
-
-
- io.vertx
- vertx-kafka-client
- ${vertx.version}
-
-
- org.apache.kafka
- kafka-clients
- ${kafka-client.version}
-
-
- io.vertx
- vertx-codegen
- ${vertx.version}
-
-
-
-
- io.netty
- netty-bom
- ${netty.version}
- pom
- import
-
-
ch.qos.logback
@@ -609,28 +501,10 @@ quarkus.vertx.max-event-loop-execute-time=${max.event-loop.execute-time:20000}
${logback.version}
runtime
-
- org.slf4j
- slf4j-api
- ${slf4j.version}
-
org.slf4j
jcl-over-slf4j
${slf4j.version}
- runtime
-
-
- org.slf4j
- jul-to-slf4j
- ${slf4j.version}
- runtime
-
-
- org.slf4j
- log4j-over-slf4j
- ${slf4j.version}
- runtime
@@ -699,9 +573,25 @@ quarkus.vertx.max-event-loop-execute-time=${max.event-loop.execute-time:20000}
${cryptvault.version}
- jakarta.ws.rs
- jakarta.ws.rs-api
- ${jakarta.jaxrs-api.version}
+ javax.transaction
+ javax.transaction-api
+ ${javax.transaction-api.version}
+
+
+ org.infinispan
+ infinispan-core
+ ${infinispan.version}
+
+
+ org.infinispan
+ infinispan-client-hotrod
+
+
+ io.netty
+ netty-transport-native-epoll
+
+
+ ${infinispan.version}
@@ -735,18 +625,6 @@ quarkus.vertx.max-event-loop-execute-time=${max.event-loop.execute-time:20000}
${qpid-jms.version}
test
-
- org.bouncycastle
- bcpkix-jdk18on
- ${bouncycastle.version}
- test
-
-
- io.vertx
- vertx-junit5
- ${vertx.version}
- test
-
org.assertj
assertj-core
diff --git a/cli/pom.xml b/cli/pom.xml
index 55f6ba7916..d19be80553 100644
--- a/cli/pom.xml
+++ b/cli/pom.xml
@@ -1,6 +1,6 @@