Re: QPID C++ API : How to check whether Queue/topic has any consumers

2020-06-22 Thread Virgilio Fornazin
Ah it's using Artemis Broker... should look at Artemis list instead

On Mon, Jun 22, 2020 at 3:01 PM Gordon Sim  wrote:

> On 22/06/2020 6:49 pm, Virgilio Fornazin wrote:
> > show source code of qpid-stat tools, it does what you want
>
> Not really. That uses QMF which ActiveMQ Artemis will not understand.
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
> For additional commands, e-mail: users-h...@qpid.apache.org
>
>


Re: QPID C++ API : How to check whether Queue/topic has any consumers

2020-06-22 Thread Gordon Sim

On 22/06/2020 6:49 pm, Virgilio Fornazin wrote:

show source code of qpid-stat tools, it does what you want


Not really. That uses QMF which ActiveMQ Artemis will not understand.


-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: QPID C++ API : How to check whether Queue/topic has any consumers

2020-06-22 Thread Virgilio Fornazin
show source code of qpid-stat tools, it does what you want

On Mon, Jun 22, 2020 at 8:59 AM Gordon Sim  wrote:

> On 22/06/2020 11:59 am, mohank wrote:
> > Client : QPID C++
> > Broker : ActiveMQ Artemis
> >
> > Is there any possibility to check whether *topic address*/*queue* has any
> > consumer?
> >
> > Using Artemis.cmd, JMS and rest API provided by ActiveMQ we can get this
> > data.
> > But is it possible to get the same using QPID C++ APIS(i.e. QMF, is it
> only
> > restricted to manage QPID broker or we can manage other brokers like
> > ActiveMQ Artemis)
>
> QMF is a message based protocol for management of the qpid c++ broker
> and will not help with artemis.
>
> However artemis has its own message based protocol for invoking
> management operations, which you can use over AMQP with any client API.
> I'm not sure if that protocol is actually documented anywhere (you could
> ask on activemq user list).
>
> The basics are that you send requests to 'activemq.management' with
> application properties '_AMQ_ResourceName' and '_AMQ_OperationName' used
> to identify the particular call you are making. The body of the message
> is a JSON string representign the parameters to the call. You should set
> up a receiver for replies and set the reply-to on the request in order
> to get them.
>
> Responses will have application property '_AMQ_OperationSucceeded' set
> to indicate success. If it succeeds, any response values will be encoded
> as JSON string in the body. If not you may get an error message in the
> body I think.
>
> E.g. I believe to get the number of consumers on a queue named foo, you
> would send a request with _AMQ_ResourceName set to queue.foo and
> _AMQ_OperationName set to getConsumerCount and the body set to '[]'
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
> For additional commands, e-mail: users-h...@qpid.apache.org
>
>


Re: Qpid Dispatch Router With RabbitMQ and SASL

2020-06-22 Thread Gordon Sim

On 22/06/2020 5:48 pm, Andrew Stitcher wrote:

I'd also note that raising a bug against RabbitMQ would be in order too
as it shouldn't die if it receives an authzid equal to the authcid in
any case.


There already is one: https://github.com/rabbitmq/rabbitmq-amqp1.0/issues/95


-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: Qpid Dispatch Router With RabbitMQ and SASL

2020-06-22 Thread Andrew Stitcher
On Fri, 2020-06-19 at 22:17 +0100, Gordon Sim wrote:
> On 19/06/2020 9:40 pm, Andrew Stitcher wrote:
> > On Fri, 2020-06-19 at 13:59 +0100, Gordon Sim wrote:
> > > ...
> > > 
> > > Looks like it changed back for cyrus-sasl anyway:
> > > https://github.com/apache/qpid-proton/commit/885d68aeaf522021a35b7b5cecb7c7c53663929b#diff-47e0b33a5461eff21e6cbbd017a969edL123
> > 
> > I don't exactly see where in that change any behaviour change
> > happened
> > - could you point it out (I know it was my change, but it was a
> > long
> > time ago!).
> 
> Lines 123-125 in the diff:
> 
> https://github.com/apache/qpid-proton/commit/885d68aeaf522021a35b7b5cecb7c7c53663929b#diff-47e0b33a5461eff21e6cbbd017a969edL123-L125
> 
> It removes the handling for case SASL_CB_USER.

Ah!

I can't see any good reason why I reverted that earlier compatibility
change. The default (non-cyrus) SASL implementation still doesn't send
authzid at all, so it would make more sense for the cyrus impl to act
the same way, certainly until we actually have some way/use for setting
the authzid itself.

Probably best to raise a new JIRA to note the regression from the
earlier change - it's amazing it took so long to notice!

I'd also note that raising a bug against RabbitMQ would be in order too
as it shouldn't die if it receives an authzid equal to the authcid in
any case.

Andrew



-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: QPID C++ API : How to check whether Queue/topic has any consumers

2020-06-22 Thread Gordon Sim

On 22/06/2020 11:59 am, mohank wrote:

Client : QPID C++
Broker : ActiveMQ Artemis

Is there any possibility to check whether *topic address*/*queue* has any
consumer?

Using Artemis.cmd, JMS and rest API provided by ActiveMQ we can get this
data.
But is it possible to get the same using QPID C++ APIS(i.e. QMF, is it only
restricted to manage QPID broker or we can manage other brokers like
ActiveMQ Artemis)


QMF is a message based protocol for management of the qpid c++ broker 
and will not help with artemis.


However artemis has its own message based protocol for invoking 
management operations, which you can use over AMQP with any client API. 
I'm not sure if that protocol is actually documented anywhere (you could 
ask on activemq user list).


The basics are that you send requests to 'activemq.management' with 
application properties '_AMQ_ResourceName' and '_AMQ_OperationName' used 
to identify the particular call you are making. The body of the message 
is a JSON string representign the parameters to the call. You should set 
up a receiver for replies and set the reply-to on the request in order 
to get them.


Responses will have application property '_AMQ_OperationSucceeded' set 
to indicate success. If it succeeds, any response values will be encoded 
as JSON string in the body. If not you may get an error message in the 
body I think.


E.g. I believe to get the number of consumers on a queue named foo, you 
would send a request with _AMQ_ResourceName set to queue.foo and 
_AMQ_OperationName set to getConsumerCount and the body set to '[]'



-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



QPID C++ API : How to check whether Queue/topic has any consumers

2020-06-22 Thread mohank
Hi,

Client : QPID C++
Broker : ActiveMQ Artemis

Is there any possibility to check whether *topic address*/*queue* has any
consumer?

Using Artemis.cmd, JMS and rest API provided by ActiveMQ we can get this
data.
But is it possible to get the same using QPID C++ APIS(i.e. QMF, is it only
restricted to manage QPID broker or we can manage other brokers like
ActiveMQ Artemis)

Thanks,
Mohan



--
Sent from: http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-f2158936.html

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: Verify presettlement of incoming JmsMessages

2020-06-22 Thread Robbie Gemmell
There is no filtering relating to the
jms.presettlePolicy.presettleConsumers option. It has no direct[*]
effect on what messages the peer the consumer attached to chooses to
send, just how it sends their deliveries to the consumer, settled or
unsettled. All messages that can be will be sent to the consumer
regardless of this option.

Ordinarily the client sets the source terminus settings such that
deliveries are sent unsettled by the peer and can then be acknowledged
depending on consumer/session usage. This option instructs the client
to set the consumer source terminus settings such that deliveries sent
to the consumer are already settled by the peer when sent, i.e
indicating the consumer does not want to acknowledge them and giving
at-most-once behaviour.

If you want to acknowledge consumption to the attached peer you don't
want to use this option. If you want to influence what messages are
actually being consumed to begin with you need another mechanism to
separately achieve that in addition.

Robbie

[*] There may however be indirect influences, e.g Dispatch can drop
presettled messages during a backlog when message-routing to a
consumer.

On Mon, 22 Jun 2020 at 11:03, Schwilk David (IOC/PAP-TH)
 wrote:
>
> In addition:
>
> I saw that this option presettles all incoming messages directly after 
> consuming, even if initially sent unsettled.
> This would mean for us, that our acknowledgement of correct end to end 
> processing wouldn't work anymore.
>
> I think I misunderstood the initial meaning of this property.
>
> Does the jms.presettlePolicy.presettleConsumers parameter filter which 
> messages are consumed by the connection (if set false presettled messages are 
> dropped) on top of presettling everything incoming?
> Or was this filter mechanism a misunderstanding and QoS=0 messages are 
> consumed right away, even without setting this property?
>
> Best regards
> David Schwilk
>
> Bosch IoT Things- Product Area IoT Platform (IOC/PAP-TH)
> Bosch.IO GmbH | Ziegelei 7 | 88090 Immenstaad | GERMANY | www.bosch.io
> david.schw...@bosch-si.com
>
> Sitz: Berlin, Registergericht: Amtsgericht Charlottenburg; HRB 148411 B
> Aufsichtsratsvorsitzender: Dr.-Ing. Thorsten Lücke; Geschäftsführung: Dr. 
> Stefan Ferber, Dr. Aleksandar Mitrovic, Yvonne Reckling
>
>
> -Original Message-
> From: Schwilk David (IOC/PAP-TH) 
> Sent: Montag, 22. Juni 2020 10:47
> To: users@qpid.apache.org
> Subject: RE: Verify presettlement of incoming JmsMessages
>
> Hi Robbie,
>
> thank you for your quick answer,
> We have tested setting this property now.
>
> We now receive presettled messages and not settled messages (QoS 0 and 1) on 
> the same connection with jms.presettlePolicy.presettleConsumers set as 
> parameter.
>
> Is this the expected behavior of the property or could it be a failure in our 
> testing?
> I can't exactly figure it out from the documentation.
>
> I would assume that not settled messages would not be received when setting 
> this property.
> This would allow us to make a differentiation between QoS 0 and 1 messages on 
> our side, while still consuming both. (Setting up 2 connections, one 
> receiving only QoS 0 (with presettleMode), the other only QoS 1 messages)
>
> Thank you very much and best regards
> David Schwilk
>
> Bosch IoT Things- Product Area IoT Platform (IOC/PAP-TH) Bosch.IO GmbH | 
> Ziegelei 7 | 88090 Immenstaad | GERMANY | www.bosch.io 
> david.schw...@bosch-si.com
>
> Sitz: Berlin, Registergericht: Amtsgericht Charlottenburg; HRB 148411 B
> Aufsichtsratsvorsitzender: Dr.-Ing. Thorsten Lücke; Geschäftsführung: Dr. 
> Stefan Ferber, Dr. Aleksandar Mitrovic, Yvonne Reckling
>
>
> -Original Message-
> From: Robbie Gemmell 
> Sent: Donnerstag, 18. Juni 2020 16:01
> To: users@qpid.apache.org
> Subject: Re: Verify presettlement of incoming JmsMessages
>
> No, there isn't any API for checking the delivery settlement status in the 
> JMS client, and none is planned.
>
> The JMS client uses consumer link settings that specify unsettled messages be 
> received, unless configured otherwise using the presettlePolicy connection 
> options in which case it can request settled messages be received.
>
> Aside: for proton-j the isSettled() method returns a local settlement 
> indication only, remotelySettled() returns the remote settlement indication.
>
> Robbie
>
> On Thu, 18 Jun 2020 at 14:16, Schwilk David (IOC/PAP-TH) 
>  wrote:
> >
> > Hello,
> >
> > As part of the project Eclipse Ditto we use the Qpid JMS client 0.45.0.
> > We want to check if the incoming JmsMessages were presettled by the system, 
> > sending the message.
> >
> > I saw that this possibility exists in Qpid Proton client via the function 
> > Delivery.isSettled().
> > Is there a similar functionality already implemented/planned for the JMS 
> > client?
> >
> > Thank you and best regards
> >
> > David Schwilk
> >
> > Bosch IoT Things- Product Area IoT Platform (IOC/PAP-TH) Bosch.IO GmbH
> > | Ziegelei 7 | 88090 

RE: Verify presettlement of incoming JmsMessages

2020-06-22 Thread Schwilk David (IOC/PAP-TH)
In addition:

I saw that this option presettles all incoming messages directly after 
consuming, even if initially sent unsettled.
This would mean for us, that our acknowledgement of correct end to end 
processing wouldn't work anymore.

I think I misunderstood the initial meaning of this property.

Does the jms.presettlePolicy.presettleConsumers parameter filter which messages 
are consumed by the connection (if set false presettled messages are dropped) 
on top of presettling everything incoming?
Or was this filter mechanism a misunderstanding and QoS=0 messages are consumed 
right away, even without setting this property? 

Best regards
David Schwilk

Bosch IoT Things- Product Area IoT Platform (IOC/PAP-TH)
Bosch.IO GmbH | Ziegelei 7 | 88090 Immenstaad | GERMANY | www.bosch.io
david.schw...@bosch-si.com

Sitz: Berlin, Registergericht: Amtsgericht Charlottenburg; HRB 148411 B
Aufsichtsratsvorsitzender: Dr.-Ing. Thorsten Lücke; Geschäftsführung: Dr. 
Stefan Ferber, Dr. Aleksandar Mitrovic, Yvonne Reckling 


-Original Message-
From: Schwilk David (IOC/PAP-TH)  
Sent: Montag, 22. Juni 2020 10:47
To: users@qpid.apache.org
Subject: RE: Verify presettlement of incoming JmsMessages

Hi Robbie,

thank you for your quick answer,
We have tested setting this property now.

We now receive presettled messages and not settled messages (QoS 0 and 1) on 
the same connection with jms.presettlePolicy.presettleConsumers set as 
parameter.

Is this the expected behavior of the property or could it be a failure in our 
testing?
I can't exactly figure it out from the documentation.

I would assume that not settled messages would not be received when setting 
this property.
This would allow us to make a differentiation between QoS 0 and 1 messages on 
our side, while still consuming both. (Setting up 2 connections, one receiving 
only QoS 0 (with presettleMode), the other only QoS 1 messages)

Thank you very much and best regards
David Schwilk

Bosch IoT Things- Product Area IoT Platform (IOC/PAP-TH) Bosch.IO GmbH | 
Ziegelei 7 | 88090 Immenstaad | GERMANY | www.bosch.io 
david.schw...@bosch-si.com

Sitz: Berlin, Registergericht: Amtsgericht Charlottenburg; HRB 148411 B
Aufsichtsratsvorsitzender: Dr.-Ing. Thorsten Lücke; Geschäftsführung: Dr. 
Stefan Ferber, Dr. Aleksandar Mitrovic, Yvonne Reckling 


-Original Message-
From: Robbie Gemmell 
Sent: Donnerstag, 18. Juni 2020 16:01
To: users@qpid.apache.org
Subject: Re: Verify presettlement of incoming JmsMessages

No, there isn't any API for checking the delivery settlement status in the JMS 
client, and none is planned.

The JMS client uses consumer link settings that specify unsettled messages be 
received, unless configured otherwise using the presettlePolicy connection 
options in which case it can request settled messages be received.

Aside: for proton-j the isSettled() method returns a local settlement 
indication only, remotelySettled() returns the remote settlement indication.

Robbie

On Thu, 18 Jun 2020 at 14:16, Schwilk David (IOC/PAP-TH) 
 wrote:
>
> Hello,
>
> As part of the project Eclipse Ditto we use the Qpid JMS client 0.45.0.
> We want to check if the incoming JmsMessages were presettled by the system, 
> sending the message.
>
> I saw that this possibility exists in Qpid Proton client via the function 
> Delivery.isSettled().
> Is there a similar functionality already implemented/planned for the JMS 
> client?
>
> Thank you and best regards
>
> David Schwilk
>
> Bosch IoT Things- Product Area IoT Platform (IOC/PAP-TH) Bosch.IO GmbH
> | Ziegelei 7 | 88090 Immenstaad | GERMANY | www.bosch.io Tel. +49 7545
> 202-114 | Telefax +49 7545 202-301 |
> david.schw...@bosch-si.com
>
> Sitz: Berlin, Registergericht: Amtsgericht Charlottenburg; HRB 148411 
> B
> Aufsichtsratsvorsitzender: Dr.-Ing. Thorsten Lücke; Geschäftsführung: 
> Dr. Stefan Ferber, Dr. Aleksandar Mitrovic, Yvonne Reckling
>
>

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional 
commands, e-mail: users-h...@qpid.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional 
commands, e-mail: users-h...@qpid.apache.org



RE: Verify presettlement of incoming JmsMessages

2020-06-22 Thread Schwilk David (IOC/PAP-TH)
Hi Robbie,

thank you for your quick answer,
We have tested setting this property now.

We now receive presettled messages and not settled messages (QoS 0 and 1) on 
the same connection with jms.presettlePolicy.presettleConsumers set as 
parameter.

Is this the expected behavior of the property or could it be a failure in our 
testing?
I can't exactly figure it out from the documentation.

I would assume that not settled messages would not be received when setting 
this property.
This would allow us to make a differentiation between QoS 0 and 1 messages on 
our side, while still consuming both. (Setting up 2 connections, one receiving 
only QoS 0 (with presettleMode), the other only QoS 1 messages)

Thank you very much and best regards
David Schwilk

Bosch IoT Things- Product Area IoT Platform (IOC/PAP-TH)
Bosch.IO GmbH | Ziegelei 7 | 88090 Immenstaad | GERMANY | www.bosch.io
david.schw...@bosch-si.com

Sitz: Berlin, Registergericht: Amtsgericht Charlottenburg; HRB 148411 B
Aufsichtsratsvorsitzender: Dr.-Ing. Thorsten Lücke; Geschäftsführung: Dr. 
Stefan Ferber, Dr. Aleksandar Mitrovic, Yvonne Reckling 


-Original Message-
From: Robbie Gemmell  
Sent: Donnerstag, 18. Juni 2020 16:01
To: users@qpid.apache.org
Subject: Re: Verify presettlement of incoming JmsMessages

No, there isn't any API for checking the delivery settlement status in the JMS 
client, and none is planned.

The JMS client uses consumer link settings that specify unsettled messages be 
received, unless configured otherwise using the presettlePolicy connection 
options in which case it can request settled messages be received.

Aside: for proton-j the isSettled() method returns a local settlement 
indication only, remotelySettled() returns the remote settlement indication.

Robbie

On Thu, 18 Jun 2020 at 14:16, Schwilk David (IOC/PAP-TH) 
 wrote:
>
> Hello,
>
> As part of the project Eclipse Ditto we use the Qpid JMS client 0.45.0.
> We want to check if the incoming JmsMessages were presettled by the system, 
> sending the message.
>
> I saw that this possibility exists in Qpid Proton client via the function 
> Delivery.isSettled().
> Is there a similar functionality already implemented/planned for the JMS 
> client?
>
> Thank you and best regards
>
> David Schwilk
>
> Bosch IoT Things- Product Area IoT Platform (IOC/PAP-TH) Bosch.IO GmbH 
> | Ziegelei 7 | 88090 Immenstaad | GERMANY | www.bosch.io Tel. +49 7545 
> 202-114 | Telefax +49 7545 202-301 | 
> david.schw...@bosch-si.com
>
> Sitz: Berlin, Registergericht: Amtsgericht Charlottenburg; HRB 148411 
> B
> Aufsichtsratsvorsitzender: Dr.-Ing. Thorsten Lücke; Geschäftsführung: 
> Dr. Stefan Ferber, Dr. Aleksandar Mitrovic, Yvonne Reckling
>
>

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional 
commands, e-mail: users-h...@qpid.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org