I'm stumped again. I'm recreating the above using curl commands instead of
the web console and it doesn't seem like groupByProperty is being
recognized.

apache-artemis-2.33.0.redhat-00013/bin/artemis create groupby


Edit groupby/etc/broker.xml with

<address-setting match="#">

<management-browse-page-size>99999999</management-browse-page-size>

...

</address-setting>



groupby/bin/artemis start

groupby/bin/artemis producer --url tcp://localhost:61616 --destination
Q.test --user admin --password admin --message-count 10 --clientID alice
groupby/bin/artemis producer --url tcp://localhost:61616 --destination
Q.test --user admin --password admin --message-count 10 --clientID bob

groupby/bin/artemis producer --url tcp://localhost:61616 --destination
Q.test --user admin --password admin --message-count 10 --clientID carol



curl 
http://admin:admin@localhost:8161/console/jolokia/read/org.apache.activemq.artemis:broker=\"0.0.0.0\",component=addresses,address=\"Q.test\";
-H "Origin: http://localhost"; | jq .value.QueueNames

> ["Q.test"]


curl 
http://admin:admin@localhost:8161/console/jolokia/exec/org.apache.activemq.artemis:broker=\"0.0.0.0\",component=addresses,address=\"Q.test\",subcomponent=queues,routing-type=\"anycast\",queue=\"Q.test\"/countMessages\(java.lang.String,java.lang.String\)/\"\"/\"__AMQ_CID\"/
-H "Origin: http://localhost"; | jq .value

> "{\"null\": 30}"

I can see with browse() that the __AMQ_CID property is present

curl
http://admin:admin@localhost:8161/console/jolokia/exec/org.apache.activemq.artemis:broker=\"0.0.0.0\",component=addresses,address=\"Q.test\",subcomponent=queues,routing-type=\"anycast\",queue=\"Q.test\"/browse\(\)
<http://admin:admin@localhost:8161/console/jolokia/exec/org.apache.activemq.artemis:broker=/%220.0.0.0/%22,component=addresses,address=/%22Q.test/%22,subcomponent=queues,routing-type=/%22anycast/%22,queue=/%22Q.test/%22/browse/(/)>
-H "Origin: http://localhost"; | jq .value

*...,*

{

    "address": "Q.test",

    "messageID": "146",

 ...

    "StringProperties": {

      "ThreadSent": "Producer ActiveMQQueue[Q.test], thread=0",

      "__AMQ_CID": "dan"

    },

    ...

    "PropertiesText": "{ThreadSent=Producer ActiveMQQueue[Q.test],
thread=0, __AMQ_CID=dan, count=0, _AMQ_ROUTING_TYPE=1}",

   ...

  }

Am I missing something in the Jolokia url?

Thanks in advance,

Keith

On Thu, Nov 14, 2024 at 9:29 AM Keith Herbert <kherb...@redhat.com> wrote:

> That fixed it. Thank you very much!
>
> <address-setting match="exampleQueue">
>      <management-browse-page-size>999999999</management-browse-page-size>
> </address-setting>
>
> {"barney":1000,"moe":1000,"homer":1000}
>
>
> On Thu, Nov 14, 2024 at 4:55 AM Domenico Francesco Bruscino <
> bruscin...@gmail.com> wrote:
>
>> Hi Keith,
>>
>> you are hitting the default management-browse-page-size value: 200. For
>> further details see
>>
>> https://activemq.apache.org/components/artemis/documentation/latest/address-settings.html#address-settings
>>
>> Regards,
>> Domenico
>>
>> On Wed, 13 Nov 2024 at 22:28, Keith Herbert <kherb...@redhat.com> wrote:
>>
>> > I'm stumped by how to use the filter for countMessages(String, String)
>> in
>> > the console view for queue operations. My goal is to get a count of
>> > messages grouped by clientID.
>> >
>> > I boot up a broker and send 3000 messages with 3 different clientIDs.
>> >
>> > bin/artemis producer --destination exampleQueue --url
>> > tcp://localhost:61616 --user admin --password password --clientID homer
>> > bin/artemis producer --destination exampleQueue --url
>> > tcp://localhost:61616 --user admin --password password --clientID barney
>> > bin/artemis producer --destination exampleQueue --url
>> > tcp://localhost:61616 --user admin --password password --clientID moe
>> >
>> > In the console, I get 3000 messages for messageCount(), and
>> > messageCount(String) with an empty filter. I can see the _AMQ_CID
>> property
>> > is set on the messages with browse().
>> >
>> >     "StringProperties": {
>> >       "ThreadSent": "Producer ActiveMQQueue[exampleQueue], thread=0",
>> >       "__AMQ_CID": "homer"
>> >     },
>> >
>> > But the result for countMessages("", "__AMQ_CID")  is nonsensical. It
>> only
>> > returns {"homer":200} when I expect a list of homer, barney, and moe
>> each
>> > with 1000 messages.
>> >
>> > [image: image.png]
>> >
>> > I couldn't find any reference to this in the docs or find any
>> > examples/unit tests using the groupByProperty. Thanks for any help.
>> >
>> >
>>
>

Reply via email to