This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch camel-main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 23ea207ed5275bf34ae7a04a3cd31e07e3d629a7 Author: JiriOndrusek <[email protected]> AuthorDate: Wed Jun 12 13:44:35 2024 +0200 Fixed azure-queue --- .../storage/queue/deployment/AzureStorageQueueProcessor.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/extensions/azure-storage-queue/deployment/src/main/java/org/apache/camel/quarkus/component/azure/storage/queue/deployment/AzureStorageQueueProcessor.java b/extensions/azure-storage-queue/deployment/src/main/java/org/apache/camel/quarkus/component/azure/storage/queue/deployment/AzureStorageQueueProcessor.java index 8d0df10777..9f73e984fa 100644 --- a/extensions/azure-storage-queue/deployment/src/main/java/org/apache/camel/quarkus/component/azure/storage/queue/deployment/AzureStorageQueueProcessor.java +++ b/extensions/azure-storage-queue/deployment/src/main/java/org/apache/camel/quarkus/component/azure/storage/queue/deployment/AzureStorageQueueProcessor.java @@ -16,6 +16,7 @@ */ package org.apache.camel.quarkus.component.azure.storage.queue.deployment; +import com.azure.xml.XmlSerializable; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CombinedIndexBuildItem; @@ -31,6 +32,7 @@ class AzureStorageQueueProcessor { private static final Logger LOG = Logger.getLogger(AzureStorageQueueProcessor.class); private static final String FEATURE = "camel-azure-storage-queue"; + private static final DotName XML_SERIALIZABLE_NAME = DotName.createSimple(XmlSerializable.class.getName()); @BuildStep FeatureBuildItem feature() { @@ -55,8 +57,16 @@ class AzureStorageQueueProcessor { || n.startsWith("com.azure.storage.queue.models.")) .sorted() .toArray(String[]::new); - reflectiveClasses.produce(ReflectiveClassBuildItem.builder(modelClasses).fields().build()); + reflectiveClasses.produce(ReflectiveClassBuildItem.builder(modelClasses).fields().serialization().build()); + final String[] knownSerializableImpls = combinedIndex.getIndex() + .getAllKnownImplementors(XML_SERIALIZABLE_NAME) + .stream() + .map(ClassInfo::name) + .map(DotName::toString) + .sorted() + .toArray(String[]::new); + reflectiveClasses.produce(ReflectiveClassBuildItem.builder(knownSerializableImpls).methods().build()); } @BuildStep
