Apache Artemis no clientId is showing in consumer section of management-console.UI

648 views Asked by At

I am using Apache Artemis broker and Apache camel JMS component

as i am using Apache camel JMS component so here, i am listening the topic

    from(jms:topic:my_topic?durableSubscriptionName=dsn&clientId=testId)
            .log("......>")

Here i have set

clientId = testId
topic = my_topic
durableSubscriptionName = "dsn"

Now when i am using management-console.UI, so it's showing me empty client id in consumer id

enter image description here

In above image Queue = testId.dsn where testId is a clientId and dsn is a subscription name.

also no clientId showing under client header.

why client name is no showing under client header. and also why Queue value is showing concatenation of clientId + subscription name

please help here, thank you!

1

There are 1 answers

2
Justin Bertram On

ActiveMQ Artemis supports lots of different protocols, but they are all implemented internally using what's called the "core" API. Depending on the protocol you're using (e.g. AMQP, OpenWire, etc.) this may be different, but if you're using the JMS client that shipped with the broker (i.e. the "core" JMS client) then the client ID is stored in the meta-data of the "core" session on the broker. However, I don't see where the web-console actually unpacks and displays that meta-data so it looks like there is no direct way to identify the client ID. However, you can infer the client ID by looking at the first part of the queue name.

The name of the queue (which represents the subscription) is generated by the broker by concatenating the client ID and subscription name. This is a simple way for the broker to differentiate durable subscriptions from each other and ensure that reconnecting clients are able to get to their original subscription again.