Hello Robbie,

I replaced the "createQueue" with "createTemporaryQueue" for the reply consumer 
and activated PN_TRACE_FRM on Dispatch Router and JMS Client.


PS: As Rabih stated before, we are using the same connection and same session 
to create the  JMSProducer for the request and the JMSConsumer for the reply.


Exception
-------------------
javax.jms.IllegalStateException: The MessageConsumer was closed due to an 
unrecoverable error.
at 
org.apache.qpid.jms.JmsMessageConsumer.checkClosed(JmsMessageConsumer.java:330)
at org.apache.qpid.jms.JmsMessageConsumer.receive(JmsMessageConsumer.java:196)
at murex.messaging.client.JmsTest.main(JmsTest.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: javax.jms.JMSException: No route to the destination node [condition 
= qd:no-route-to-dest]
at 
org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:150)
at 
org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:105)
at 
org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.remotelyClosed(AmqpAbstractResource.java:147)
at 
org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:251)
at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:795)
at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:90)
at org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:699)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)


-------------------
Dispatch Router (PN_TRACE_FRM=1)
-------------------

[832220]:  <- SASL
[832220]:  -> SASL
[832220]:0 -> @sasl-mechanisms(64) 
[sasl-server-mechanisms=@PN_SYMBOL[:ANONYMOUS]]
[832220]:0 <- @sasl-init(65) [mechanism=:ANONYMOUS, initial-response=b"", 
hostname="host-name"]
[832220]:0 -> @sasl-outcome(68) [code=0]
[832220]:  <- AMQP
[832220]:0 <- @open(16) 
[container-id="ID:9d96ddb8-a334-44c3-954a-2dd910161411:1", 
hostname="host-name", max-frame-size=1048576, channel-max=32767, 
idle-time-out=30000, 
desired-capabilities=@PN_SYMBOL[:"sole-connection-for-container"], 
properties={:product="QpidJMS", :version="0.11.1", :platform="JVM: 1.8.0_111, 
25.111-b14, Oracle Corporation, OS: Windows 7, 6.1, amd64"}]
[832220]:  -> AMQP
[832220]:0 -> @open(16) [container-id="router.10200", max-frame-size=16384, 
channel-max=32767, idle-time-out=8000, offered-capabilities=:"ANONYMOUS-RELAY", 
properties={:product="qpid-dispatch-router", :version="0.7.0"}]
[832220]:0 <- @begin(17) [next-outgoing-id=1, incoming-window=2047, 
outgoing-window=2147483647, handle-max=65535]
[832220]:0 -> @begin(17) [remote-channel=0, next-outgoing-id=0, 
incoming-window=61, outgoing-window=2147483647]
[832220]:1 <- @begin(17) [next-outgoing-id=1, incoming-window=2047, 
outgoing-window=2147483647, handle-max=65535]
[832220]:1 -> @begin(17) [remote-channel=1, next-outgoing-id=0, 
incoming-window=61, outgoing-window=2147483647]
[832220]:1 <- @attach(18) 
[name="qpid-jms:sender:ID:8ec755cd-dc3f-47cc-9f39-f5d15647fe80:1:1:1:$management",
 handle=0, role=false, snd-settle-mode=0, rcv-settle-mode=0, source=@source(40) 
[address="ID:8ec755cd-dc3f-47cc-9f39-f5d15647fe80:1:1:1", durable=0, 
expiry-policy=:"session-end", timeout=0, dynamic=false, 
outcomes=@PN_SYMBOL[:"amqp:accepted:list", :"amqp:rejected:list"]], 
target=@target(41) [address="$management", durable=0, 
expiry-policy=:"session-end", timeout=0, dynamic=false, 
capabilities=@PN_SYMBOL[:queue]], incomplete-unsettled=false, 
initial-delivery-count=0]
[832220]:1 -> @attach(18) 
[name="qpid-jms:sender:ID:8ec755cd-dc3f-47cc-9f39-f5d15647fe80:1:1:1:$management",
 handle=0, role=true, snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) 
[address="ID:8ec755cd-dc3f-47cc-9f39-f5d15647fe80:1:1:1", durable=0, timeout=0, 
dynamic=false, outcomes=@PN_SYMBOL[:"amqp:accepted:list", 
:"amqp:rejected:list"]], target=@target(41) [address="$management", durable=0, 
timeout=0, dynamic=false, capabilities=@PN_SYMBOL[:queue]], 
initial-delivery-count=0, max-message-size=0]
[832220]:1 -> @flow(19) [next-incoming-id=1, incoming-window=61, 
next-outgoing-id=0, outgoing-window=2147483647, handle=0, delivery-count=0, 
link-credit=250, drain=false]
[832220]:0 <- @attach(18) 
[name="qpid-jms:temp-queue-creator:ID:8ec755cd-dc3f-47cc-9f39-f5d15647fe80:1:1",
 handle=0, role=false, snd-settle-mode=0, rcv-settle-mode=0, source=@source(40) 
[], target=@target(41) [durable=0, expiry-policy=:"link-detach", timeout=0, 
dynamic=true, dynamic-node-properties={:"lifetime-policy"=@delete-on-close(43) 
[]}, capabilities=@PN_SYMBOL[:"temporary-queue"]], incomplete-unsettled=false, 
initial-delivery-count=0]
[832220]:0 -> @attach(18) 
[name="qpid-jms:temp-queue-creator:ID:8ec755cd-dc3f-47cc-9f39-f5d15647fe80:1:1",
 handle=0, role=true, snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) 
[durable=0, timeout=0, dynamic=false], target=@target(41) [durable=0, 
expiry-policy=:"link-detach", timeout=0, dynamic=true, 
dynamic-node-properties={:"lifetime-policy"=@delete-on-close(43) []}, 
capabilities=@PN_SYMBOL[:"temporary-queue"]], initial-delivery-count=0, 
max-message-size=0]
[832220]:0 -> @flow(19) [next-incoming-id=1, incoming-window=61, 
next-outgoing-id=0, outgoing-window=2147483647, handle=0, delivery-count=0, 
link-credit=250, drain=false]
[832220]:1 <- @attach(18) 
[name="qpid-jms:receiver:ID:8ec755cd-dc3f-47cc-9f39-f5d15647fe80:1:1:1:null", 
handle=1, role=true, snd-settle-mode=0, rcv-settle-mode=0, source=@source(40) 
[durable=0, expiry-policy=:"link-detach", timeout=0, dynamic=false, 
default-outcome=@modified(39) [delivery-failed=true], 
outcomes=@PN_SYMBOL[:"amqp:accepted:list", :"amqp:rejected:list", 
:"amqp:released:list", :"amqp:modified:list"], 
capabilities=@PN_SYMBOL[:"temporary-queue"]], target=@target(41) []]
[832220]:1 -> @attach(18) 
[name="qpid-jms:receiver:ID:8ec755cd-dc3f-47cc-9f39-f5d15647fe80:1:1:1:null", 
handle=1, role=false, snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) 
[durable=0, timeout=0, dynamic=false], target=@target(41) [durable=0, 
timeout=0, dynamic=false], initial-delivery-count=0, max-message-size=0]
[832220]:1 -> @detach(22) [handle=1, closed=true, error=@error(29) 
[condition=:"qd:no-route-to-dest", description="No route to the destination 
node"]]
[832220]:1 <- @detach(22) [handle=1, closed=true]
[832220]:1 <- @transfer(20) [handle=0, delivery-id=0, delivery-tag=b"0", 
message-format=0] (312) 
"\x00Sp\xc0\x02\x01A\x00Sr\xc1)\x04\xa3\x0ex-opt-jms-destQ\x00\xa3\x12x-opt-jms-msg-typeQ\x01\x00Ss\xc0O\x0a\xa1/ID:8ec755cd-dc3f-47cc-9f39-f5d15647fe80:1:1:1-1@\xa1\x0b$management@@@@@@\x83\x00\x00\x01Y\xda\xf2\xa6'\x00St\xc1U\x06\xa1\x04name\xa1\x0frabih.connector\xa1\x04type\xa1"org.apache.qpid.dispatch.connector\xa1\x09operation\xa1\x06CREATE\x00Sw\xc1P\x08\xa1\x04role\xa1\x0froute-container\xa1\x04port\xa1\x04port\xa1\x04name\xa1\x0frabih.connector\xa1\x04addr\xa1\x0dbrokerMachine"
[832220]:1 -> @flow(19) [next-incoming-id=2, incoming-window=61, 
next-outgoing-id=0, outgoing-window=2147483647, handle=0, delivery-count=1, 
link-credit=250, drain=false]
[832220]:1 -> @disposition(21) [role=true, first=0, last=0, settled=true, 
state=@accepted(36) []]
[832220]:0 <- @close(24) []
[832220]:  <- EOS
[832220]:0 -> @close(24) []
[832220]:  -> EOS
Closed x.x.x.x:8961
Unexpected poll events: 0020 on x.x.x.x:8961
Unexpected poll events: 0020 on x.x.x.x:8961

------------------
JMS Client (PN_TRACE_FRM=1)
------------------
[1244186219:0] -> Open{ 
containerId='ID:da8ce84a-c69b-4a22-9b22-69d27a017a83:1', hostname='host-name', 
maxFrameSize=1048576, channelMax=32767, idleTimeOut=30000, 
outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, 
desiredCapabilities=[sole-connection-for-container], 
properties={product=QpidJMS, version=0.11.1, platform=JVM: 1.8.0_111, 
25.111-b14, Oracle Corporation, OS: Windows 7, 6.1, amd64}}
[1244186219:0] <- Open{ containerId='router.10200', hostname='null', 
maxFrameSize=16384, channelMax=32767, idleTimeOut=8000, outgoingLocales=null, 
incomingLocales=null, offeredCapabilities=[ANONYMOUS-RELAY], 
desiredCapabilities=null, properties={product=qpid-dispatch-router, 
version=0.7.0}}
[1244186219:0] -> Begin{remoteChannel=null, nextOutgoingId=1, 
incomingWindow=2047, outgoingWindow=2147483647, handleMax=65535, 
offeredCapabilities=null, desiredCapabilities=null, properties=null}
[1244186219:0] <- Begin{remoteChannel=0, nextOutgoingId=0, incomingWindow=61, 
outgoingWindow=2147483647, handleMax=4294967295, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}
[1244186219:1] -> Begin{remoteChannel=null, nextOutgoingId=1, 
incomingWindow=2047, outgoingWindow=2147483647, handleMax=65535, 
offeredCapabilities=null, desiredCapabilities=null, properties=null}
[1244186219:1] <- Begin{remoteChannel=1, nextOutgoingId=0, incomingWindow=61, 
outgoingWindow=2147483647, handleMax=4294967295, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}
[1244186219:1] -> 
Attach{name='qpid-jms:sender:ID:53f2be62-ad72-4193-a824-3293ffc57168:1:1:1:$management',
 handle=0, role=SENDER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, 
source=Source{address='ID:53f2be62-ad72-4193-a824-3293ffc57168:1:1:1', 
durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, 
dynamicNodeProperties=null, distributionMode=null, filter=null, 
defaultOutcome=null, outcomes=[amqp:accepted:list, amqp:rejected:list], 
capabilities=null}, target=Target{address='$management', durable=NONE, 
expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, 
capabilities=[queue]}, unsettled=null, incompleteUnsettled=false, 
initialDeliveryCount=0, maxMessageSize=null, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}
[1244186219:1] <- 
Attach{name='qpid-jms:sender:ID:53f2be62-ad72-4193-a824-3293ffc57168:1:1:1:$management',
 handle=0, role=RECEIVER, sndSettleMode=MIXED, rcvSettleMode=FIRST, 
source=Source{address='ID:53f2be62-ad72-4193-a824-3293ffc57168:1:1:1', 
durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, 
dynamicNodeProperties=null, distributionMode=null, filter=null, 
defaultOutcome=null, outcomes=[amqp:accepted:list, amqp:rejected:list], 
capabilities=null}, target=Target{address='$management', durable=NONE, 
expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, 
capabilities=[queue]}, unsettled=null, incompleteUnsettled=false, 
initialDeliveryCount=0, maxMessageSize=0, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}
[1244186219:1] <- Flow{nextIncomingId=1, incomingWindow=61, nextOutgoingId=0, 
outgoingWindow=2147483647, handle=0, deliveryCount=0, linkCredit=250, 
available=null, drain=false, echo=false, properties=null}
[1244186219:0] -> 
Attach{name='qpid-jms:temp-queue-creator:ID:53f2be62-ad72-4193-a824-3293ffc57168:1:1',
 handle=0, role=SENDER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, 
source=Source{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, 
filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, 
target=Target{address='null', durable=NONE, expiryPolicy=LINK_DETACH, 
timeout=0, dynamic=true, 
dynamicNodeProperties={lifetime-policy=DeleteOnClose{}}, 
capabilities=[temporary-queue]}, unsettled=null, incompleteUnsettled=false, 
initialDeliveryCount=0, maxMessageSize=null, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}
[1244186219:0] <- 
Attach{name='qpid-jms:temp-queue-creator:ID:53f2be62-ad72-4193-a824-3293ffc57168:1:1',
 handle=0, role=RECEIVER, sndSettleMode=MIXED, rcvSettleMode=FIRST, 
source=Source{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, 
filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, 
target=Target{address='null', durable=NONE, expiryPolicy=LINK_DETACH, 
timeout=0, dynamic=true, 
dynamicNodeProperties={lifetime-policy=DeleteOnClose{}}, 
capabilities=[temporary-queue]}, unsettled=null, incompleteUnsettled=false, 
initialDeliveryCount=0, maxMessageSize=0, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}
[1244186219:0] <- Flow{nextIncomingId=1, incomingWindow=61, nextOutgoingId=0, 
outgoingWindow=2147483647, handle=0, deliveryCount=0, linkCredit=250, 
available=null, drain=false, echo=false, properties=null}
[1244186219:1] -> 
Attach{name='qpid-jms:receiver:ID:53f2be62-ad72-4193-a824-3293ffc57168:1:1:1:null',
 handle=1, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, 
source=Source{address='null', durable=NONE, expiryPolicy=LINK_DETACH, 
timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, 
filter=null, defaultOutcome=Modified{deliveryFailed=true, 
undeliverableHere=null, messageAnnotations=null}, outcomes=[amqp:accepted:list, 
amqp:rejected:list, amqp:released:list, amqp:modified:list], 
capabilities=[temporary-queue]}, target=Target{address='null', durable=NONE, 
expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, 
capabilities=null}, unsettled=null, incompleteUnsettled=false, 
initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=null, 
desiredCapabilities=null, properties=null}
[1244186219:1] <- 
Attach{name='qpid-jms:receiver:ID:53f2be62-ad72-4193-a824-3293ffc57168:1:1:1:null',
 handle=1, role=SENDER, sndSettleMode=MIXED, rcvSettleMode=FIRST, 
source=Source{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, 
filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, 
target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, 
unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, 
maxMessageSize=0, offeredCapabilities=null, desiredCapabilities=null, 
properties=null}
[1244186219:1] <- Detach{handle=1, closed=true, 
error=Error{condition=qd:no-route-to-dest, description='No route to the 
destination node', info=null}}
[1244186219:1] -> Detach{handle=1, closed=true, error=null}
[1244186219:1] -> Transfer{handle=0, deliveryId=0, deliveryTag=0, 
messageFormat=0, settled=null, more=false, rcvSettleMode=null, state=null, 
resume=false, aborted=false, batchable=false} (312) 
"\x00Sp\xc0\x02\x01A\x00Sr\xc1)\x04\xa3\x0ex-opt-jms-destQ\x00\xa3\x12x-opt-jms-msg-typeQ\x01\x00Ss\xc0O\x0a\xa1/ID:53f2be62-ad72-4193-a824-3293ffc57168:1:1:1-1@\xa1\x0b$management@@@@@@\x83\x00\x00\x01Y\xda\xf4\xd7p\x00St\xc1U\x06\xa1\x04name\xa1\x0frabih.connector\xa1\x04type\xa1"org.apache.qpid.dispatch.connector\xa1\x09operation\xa1\x06CREATE\x00Sw\xc1P\x08\xa1\x04role\xa1\x0froute-container\xa1\x04port\xa1\x04port\xa1\x04name\xa1\x0frabih.connector\xa1\x04addr\xa1\x0dbrokerMachine"
[1244186219:1] <- Flow{nextIncomingId=2, incomingWindow=61, nextOutgoingId=0, 
outgoingWindow=2147483647, handle=0, deliveryCount=1, linkCredit=250, 
available=null, drain=false, echo=false, properties=null}
[1244186219:1] <- Disposition{role=RECEIVER, first=0, last=0, settled=true, 
state=Accepted{}, batchable=false}
[1244186219:0] -> Close{error=null}
[1244186219:0] <- Close{error=null}

Regards,

Adel

________________________________
From: Robbie Gemmell <robbie.gemm...@gmail.com>
Sent: Tuesday, January 24, 2017 7:33:32 PM
To: users@qpid.apache.org
Subject: Re: [Qpid Dispatch] Manage Dispatch router from Qpid Jms

That looks fine at first glance. Its possible there is an issue in
there needing looked it. I am travelling this week so may not get to
look until afterwards, but will try to give things a look at. If you
could give more detail on the exception and maybe a protocol trace
that might be useful.

Robbie

On 24 January 2017 at 13:14, Rabih M <rabih.prom...@gmail.com> wrote:
> Hello Robbie,
>
> Thanks for you for your answer.
> I will try the solutions you proposed.
>
> I need just need one clarification. Concerning the Jms, I already tried to
> use a temporary queue but it didn't work. May be i am using it wrong. Here
> is what i did:
>
> ...
> Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
> Queue queue = session.createQueue("$management");
> MessageProducer producer = session.createProducer(queue);
>
> Queue tempDest = session.createTemporaryQueue();
> MessageConsumer responseConsumer = session.createConsumer(tempDest);
> connection.start();
>
> ObjectMessage objectMessage = session.createObjectMessage();
> objectMessage.setJMSReplyTo(tempDest);
> //fill the rest of the parameters ...
> producer.send(objectMessage);
> ObjectMessage replyMessage = (ObjectMessage) responseConsumer.receive(1000);
> ...
>
> I was getting an exception on the .receive() from the dispatch router
> saying that the reply-to address is bad...
> Should i create the temporary queue and the consumer from a different
> session then the producer?
>
> Best regards,
> Rabih
>
>
> On Tue, Jan 24, 2017 at 5:37 PM, Robbie Gemmell <robbie.gemm...@gmail.com>
> wrote:
>
>> The session.createTemporaryQueue(); method is how JMS creates
>> temporary destinations for use in reply-to scenarios. The dispatch
>> tools will be doing essentially the same thing under the covers for
>> theirs.
>>
>> Both work by creating a 'dynamic' link attachment, with the server
>> returning an address for the dynamic attach to the client. One key
>> difference is with JMS you create the temporary destination (for which
>> the client uses a dynamic sender link to create), then separately
>> create a receiver using it (and in turn the address associated with
>> it), whereas non-JMS client/tools will typically just create a single
>> dynamic receiver link and use its address for the reply-to.
>>
>> For proton-j, there aren't any examples for this, but you you
>> essentially would change the link opening to not specify an address,
>> and instead set the source(for a receiver) or target (for a sender) to
>> be 'dynamic'. You would then inspect the remoteSource or remoteTarget
>> once the link had been reemotely attached, and get its
>> (server-generated) address, then use this as your reply-to.
>>
>> Robbie
>>
>> On 23 January 2017 at 11:00, Rabih M <rabih.prom...@gmail.com> wrote:
>> > Hello,
>> >
>> > When I added to the JMS test the ".setJMSReplyTo()" queue, like you
>> > suggested, it worked.
>> > But I cheated a little to make it work because I did not find a way in
>> JMS
>> > to create a local queue. So I created a queue on the qpid-dispatch and
>> read
>> > the result from it. You can check the attached code.
>> >
>> > Is there any way using qpid-jms to create a local queue on the client
>> side
>> > to serve as a reply to address?
>> >
>> > For the proton-j test, I have the same question as above. I saw that it
>> can
>> > be done with the C++ API. Are there any examples for proton-j or
>> something
>> > that can help me?
>> >
>> > I saw may be in proton we don't need a local queue, may be we can get the
>> > address of the consumer directly and pass it in reply-to field. Is it
>> > correct?
>> >
>> > Thanks,
>> > Rabih
>> >
>> >
>> >
>> > On Fri, Jan 20, 2017 at 10:18 PM, Rob Godfrey <rob.j.godf...@gmail.com>
>> > wrote:
>> >>
>> >> On 20 January 2017 at 21:45, Ganesh Murthy <gmur...@redhat.com> wrote:
>> >>
>> >> >
>> >> >
>> >> > ----- Original Message -----
>> >> > > From: "Robbie Gemmell" <robbie.gemm...@gmail.com>
>> >> > > To: users@qpid.apache.org
>> >> > > Sent: Friday, January 20, 2017 2:18:45 PM
>> >> > > Subject: Re: [Qpid Dispatch] Manage Dispatch router from Qpid Jms
>> >> > >
>> >> > > On 20 January 2017 at 19:06, Gordon Sim <g...@redhat.com> wrote:
>> >> > > > On 20/01/17 18:40, Rabih M wrote:
>> >> > > >>
>> >> > > >> I inserted the map directly into the ObjectMessage like you told
>> me
>> >> > > >> Robbie and it worked.
>> >> > > >>
>> >> > > >> But like the proton-j case, the connector is not being created on
>> >> > > >> the
>> >> > > >> Qpid-dispatch side.
>> >> > > >> I attached the amqp communication into this mail.
>> >> > > >
>> >> > > >
>> >> > > > The last frame in that file is incomplete (the previous error
>> >> > regarding the
>> >> > > > map body may or may not be a wireshark issue),but that last frame
>> is
>> >> > likely
>> >> > > > the response which would indicate the success or otherwise of the
>> >> > frame. Is
>> >> > > > there anything logged by the router?
>> >> > > >
>> >> > > > If you can, just running the router with PN_TRACE_FRM=1 is simpler
>> >> > > > for
>> >> > this
>> >> > > > sort of thing in my view.
>> >> > > >
>> >> > >
>> >> > > As Gordon suggests, the proton trace logs might be more helpful. You
>> >> > > can also do that with proton-j, and this the JMS client too since it
>> >> > > uses proton-j.
>> >> > >
>> >> > > One key difference from the qdmanage case is you are not setting a
>> >> > > reply-to value or correlation-id to use along with it. I don't know
>> if
>> >> > > the router cares about not being able to send a response or not
>> >> > > though, but it might.
>> >> >
>> >> > You could add the following to your dispatch router conf file
>> >> > (qdrouterd.conf) and restart the router (This will enable trace
>> logging)
>> >> >
>> >> > log {
>> >> >     module: DEFAULT
>> >> >     enable: trace+
>> >> >     output: /path/to/log/qdrouterd.log
>> >> > }
>> >> >
>> >> > When you run your management request, you will see proton frame trace
>> >> > and
>> >> > you will see additional logging out of the dispatch Python agent -
>> >> > something like the following -
>> >> >
>> >> > Fri Jan 20 15:27:23 2017 AGENT (debug) Agent request
>> >> > Message(address=None,
>> >> > properties={'operation': 'CREATE', 'type':
>> >> > 'org.apache.qpid.dispatch.connector',
>> >> > 'name': 'rabih.connector'}, body={'port': '5673', 'role':
>> >> > 'route-container', 'addr': 'broker-machine', 'name':
>> 'rabih.connector'},
>> >> > reply_to='amqp:/_topo/0/Router.A/temp.i4H_ZOvee1xhGxx',
>> >> > correlation_id=1L)
>> >> > Fri Jan 20 15:27:23 2017 CONN_MGR (info) Configured Connector:
>> >> > broker-machine:5673 proto=any, role=route-container
>> >> > Fri Jan 20 15:27:23 2017 AGENT (debug) Add entity:
>> >> > ConnectorEntity(addr=broker-machine, allowRedirect=True, cost=1,
>> >> > host=127.0.0.1, identity=connector/127.0.0.1:5673:rabih.connector,
>> >> > idleTimeoutSeconds=16, maxFrameSize=16384, maxSessions=32768,
>> >> > name=rabih.connector, port=5673, role=route-container,
>> >> > stripAnnotations=both, type=org.apache.qpid.dispatch.connector,
>> >> > verifyHostName=True)
>> >> >
>> >> > The Python management agent will not process your request if there is
>> no
>> >> > reply_to as seen here -
>> >> >
>> >> > https://github.com/apache/qpid-dispatch/blob/master/
>> >> > python/qpid_dispatch_internal/management/agent.py#L822
>> >> >
>> >> >
>> >> >
>> >> Can I ask why the agent doesn't process the request?  Just because there
>> >> is
>> >> a reply-to doesn't mean that the sender will be around to actually hear
>> >> the
>> >> reply, so it seems a bit arbitrary to say that because we *know* the
>> >> sender
>> >> won't learn of the outcome that we won't do anything... The spec draft
>> >> doesn't currently say anything about this (obviously it should do), but
>> my
>> >> expectation would certainly be that a request would be processed even if
>> >> the replyTo address was not present (or ended up not routing anywhere).
>> >> This is also how the Qpid Broker for Java implements this case.
>> >>
>> >> -- Rob
>> >>
>> >>
>> >> > Thanks.
>> >> >
>> >> > >
>> >> > > Robbie
>> >> > >
>> >> > > ------------------------------------------------------------
>> ---------
>> >> > > 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
>> >> >
>> >> >
>> >
>> >
>> >
>> >
>> > ---------------------------------------------------------------------
>> > 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
>>
>>

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

Reply via email to