Search code examples
apache-camelazureservicebus

CamelAzureServiceBus headers missing since upgrading to camel-azure-servicebus-4.4.2


I have a connection to an Azure service bus queue defined in xml

<route id="Elexon_IRIS_Route">
    <from uri="azureQueueEndpoint" />
    <convertBodyTo type="java.lang.String"/>
    <unmarshal><json/></unmarshal>
    <to uri="localAMQ:topic:IRIS-Elexon"/>
</route>

<bean id="azureServiceBusComponent" class="org.apache.camel.component.azure.servicebus.ServiceBusComponent">
        <property name="configuration">
            <bean class="org.apache.camel.component.azure.servicebus.ServiceBusConfiguration">
                <property name="credentialType" value="TOKEN_CREDENTIAL" />
                <property name="tokenCredential" ref="azauth" />
                <property name="fullyQualifiedNamespace" value="elexon-iris.servicebus.windows.net" />
            </bean>
        </property>
    </bean>

Using camel-azure-servicebus-4.4.1 I get the following headers returned for each message:

{"expires"=>"0",
 "CamelAzureServiceBusEnqueuedSequenceNumber"=>"10655170",
 "destination"=>"/topic/IRIS-Elexon",
 "CamelAzureServiceBusDeliveryCount"=>"0",
 "ack"=>"ID:bravo-43103-1716763678894-2:59",
 "CamelAzureServiceBusSubject"=>"MELS",
 "subscription"=>"4b0062c6-48be-4cb2-abce85d1481b3401",
 "priority"=>"4",
 "CamelAzureServiceBusSequenceNumber"=>"7955951",
 "CamelAzureServiceBusMessageId"=>"MELS_202405262248_85602.json",
 "message-id"=>"ID:bravo-43103-1716763678894-10:1:3:1:1272",
 "persistent"=>"true",
 "timestamp"=>"1716763744004",
 "CamelAzureServiceBusLockToken"=>"64179600-27db-48ed-be93-eb19ebe0f66b"}

But when I change to camel-azure-servicebus-4.4.2 the only headers I get are:

{"expires"=>"0",
 "destination"=>"/topic/IRIS-Elexon",
 "ack"=>"ID:bravo-34173-1716750388709-2:15634",
 "subscription"=>"16b02d1f-40df-4f31-b538738618f91316",
 "priority"=>"4",
 "message-id"=>"ID:bravo-34173-1716750388709-10:1:5:1:43221",
 "persistent"=>"true",
 "source_file_name"=>"MELS_202405262245_85595.json",
 "timestamp"=>"1716763562372"}

How do I get the CamelAzureServiceBus headers back? I filter on those within a processing script so this is a rather breaking change.

I can't see anything obvious updated in the docs, but there is this JIRA


Solution

  • This was caused by a bug in 4.4.2 and has now been resolved and confirmed working as expected in 4.4.3

    https://issues.apache.org/jira/browse/CAMEL-20699
    https://issues.apache.org/jira/browse/CAMEL-20691