Re: Question on the information contained in a flow event
On Mon, 2015-11-09 at 17:17 +, Robbie Gemmell wrote: > On 9 November 2015 at 17:09, aconway wrote: > > On Mon, 2015-11-09 at 13:49 +, Marinov, Vladimir wrote: > > > Hello all, > > > > > > We are implementing AMQP support in our messaging server and for > > > that > > > purpose we use Proton-j 0.9.1. I'm currently trying to implement > > > transactional acquisition and I'm stuck with the following: > > > When a client tries to acquire messages transactionally from the > > > server, it send a flow frame with a 'txn-id' entry in its > > > properties > > > so I need to access this information. The thing is that in the > > > onLinkFlow handler method I get an object of type Event which > > > doesn't > > > seem to contain the txn-id (it actually seems pretty blank) and I > > > can't find it anywhere else. On the other hand, I'm pretty > > > certain > > > this information is sent to us because we trace incoming frames > > > in > > > our trace handler and the flow frames all contain txn-id. Am I > > > missing something and do you have any suggestions? > > > > > > Regards, > > > Vladimir > > > > The information is there, I've had to scrape it out before. I > > believe > > it is is part of the delivery disposition state: > > > > pn_event_delivery_t(), > > pn_delivery_remote_state(), > > pn_disposition_something_my_memory_isnt_what_it_used_to_be() > > > > Give me a shout if you can't track it down, I wrote code in qpidd > > at > > some point that did something with the TXN id, I can find it need > > be. > > > > Cheers, > > Alan. > > I believe you are thinking of transactional retirement, whereas > Vladimir is talking about transactional acquisition, which uses the > flow frame for some of the process rather than disposition frames. > You are probably right, my memories are vague. Sorry if I sent anyone barking up the wrong tree.
Re: Question on the information contained in a flow event
On 9 November 2015 at 17:09, aconway wrote: > On Mon, 2015-11-09 at 13:49 +, Marinov, Vladimir wrote: >> Hello all, >> >> We are implementing AMQP support in our messaging server and for that >> purpose we use Proton-j 0.9.1. I'm currently trying to implement >> transactional acquisition and I'm stuck with the following: >> When a client tries to acquire messages transactionally from the >> server, it send a flow frame with a 'txn-id' entry in its properties >> so I need to access this information. The thing is that in the >> onLinkFlow handler method I get an object of type Event which doesn't >> seem to contain the txn-id (it actually seems pretty blank) and I >> can't find it anywhere else. On the other hand, I'm pretty certain >> this information is sent to us because we trace incoming frames in >> our trace handler and the flow frames all contain txn-id. Am I >> missing something and do you have any suggestions? >> >> Regards, >> Vladimir > > The information is there, I've had to scrape it out before. I believe > it is is part of the delivery disposition state: > > pn_event_delivery_t(), > pn_delivery_remote_state(), > pn_disposition_something_my_memory_isnt_what_it_used_to_be() > > Give me a shout if you can't track it down, I wrote code in qpidd at > some point that did something with the TXN id, I can find it need be. > > Cheers, > Alan. I believe you are thinking of transactional retirement, whereas Vladimir is talking about transactional acquisition, which uses the flow frame for some of the process rather than disposition frames. Robbie
Re: Question on the information contained in a flow event
On Mon, 2015-11-09 at 13:49 +, Marinov, Vladimir wrote: > Hello all, > > We are implementing AMQP support in our messaging server and for that > purpose we use Proton-j 0.9.1. I'm currently trying to implement > transactional acquisition and I'm stuck with the following: > When a client tries to acquire messages transactionally from the > server, it send a flow frame with a 'txn-id' entry in its properties > so I need to access this information. The thing is that in the > onLinkFlow handler method I get an object of type Event which doesn't > seem to contain the txn-id (it actually seems pretty blank) and I > can't find it anywhere else. On the other hand, I'm pretty certain > this information is sent to us because we trace incoming frames in > our trace handler and the flow frames all contain txn-id. Am I > missing something and do you have any suggestions? > > Regards, > Vladimir The information is there, I've had to scrape it out before. I believe it is is part of the delivery disposition state: pn_event_delivery_t(), pn_delivery_remote_state(), pn_disposition_something_my_memory_isnt_what_it_used_to_be() Give me a shout if you can't track it down, I wrote code in qpidd at some point that did something with the TXN id, I can find it need be. Cheers, Alan.
Re: Question on the information contained in a flow event
Hi Vladimir, As per https://issues.apache.org/jira/browse/PROTON-754, Proton does not currently expose the properties of the flow frame and so it isnt possible to do transactional acquisition using it (or correctly handle it not being supported). All the clients/brokers I am aware of currently [using proton] use transactional retirement rather than transactional acquisition. Regards, Robbie On 9 November 2015 at 13:49, Marinov, Vladimir wrote: > Hello all, > > We are implementing AMQP support in our messaging server and for that purpose > we use Proton-j 0.9.1. I'm currently trying to implement transactional > acquisition and I'm stuck with the following: > When a client tries to acquire messages transactionally from the server, it > send a flow frame with a 'txn-id' entry in its properties so I need to access > this information. The thing is that in the onLinkFlow handler method I get an > object of type Event which doesn't seem to contain the txn-id (it actually > seems pretty blank) and I can't find it anywhere else. On the other hand, I'm > pretty certain this information is sent to us because we trace incoming > frames in our trace handler and the flow frames all contain txn-id. Am I > missing something and do you have any suggestions? > > Regards, > Vladimir