You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by chiippy <ch...@hotmail.com> on 2017/03/28 14:32:48 UTC
JMSDestination value different between 5.12.1 and 5.13.0
Per the activeMQ message Properties definition : JMSDestination
<http://activemq.apache.org/activemq-message-properties.html>
However, since 5.13.0, the JMSDestination has been changed to be set by the
Consumer instead of the Producer ?
When using camel activemq, I have
Producer : to("activemq:topic:VirtualTopic.A.B.channel1.payment")
Consumer : from("activemq:queue:Consumer.myid.VirtualTopic.A.B.*.payment")
n 5.12.1, Logging the JMSDestination property, the value is
"topic://VirtualTopic.A.B.channel1.payment". This does match the definition
above.
However, when upgrades to 5.13.0, the logging value becomes
"queue://Consumer.myid.VirtualTopic.A.B.*.payment" which is the consumer
subscribed queue name, but not the producer topic ?
I raised the question in Camel forum, Camel Query
<http://camel.465427.n5.nabble.com/Camel-Activemq-property-JMSDestination-value-different-between-5-12-1-and-5-13-0-td5796294.html#a5796300>
, I have been told to raise here.
Anyone able to help as how can I get the Producer queue name from Consumer
side ? In my application, I am using JSMReplyTo for Consumer responses, and
I am using the JMSDestination to set it at the Consumer end. As now this
value has been changed, I am lost as how to find out the original queue name
which the producer used.
Thanks
Alex
--
View this message in context: http://activemq.2283324.n4.nabble.com/JMSDestination-value-different-between-5-12-1-and-5-13-0-tp4724196.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: JMSDestination value different between 5.12.1 and 5.13.0
Posted by chiippy <ch...@hotmail.com>.
Hi Tim
This is the test code that I am using :
from(triggerEndpoint)
.setHeader("JMSXGroupID", constant("product1grp"))
.to("amq:topic:VirtualTopic.producer.channel1.test")
.setHeader("JMSXGroupID", constant("product2grp"))
.to("amq:topic:VirtualTopic.producer.channel2.test");
from("amq:queue:Consumer.worker.VirtualTopic.producer.*.test?concurrentConsumers=2")
.log("JMSDestination : ${header.JMSDestination} Group :
${header.JMSXGroupID}");
The first camelRoute is the producer, while the 2nd one is the consumer.
When connects to Active 5.12.1:
12:17:48.418 [Camel (cameltester) thread #12 -
JmsConsumer[Consumer.worker.VirtualTopic.producer.*.test]] INFO route21
- JMSDestination :* topic://VirtualTopic.producer.channel1.test * Group :
product1grp
12:17:48.532 [Camel (cameltester) thread #54 -
JmsConsumer[Consumer.worker.VirtualTopic.producer.*.test]] INFO route21
- JMSDestination :* topic://VirtualTopic.producer.channel2.test * Group :
product2grp
when connects to Active 5.13.4 :
12:08:56.245 [Camel (cameltester) thread #12 -
JmsConsumer[Consumer.worker.VirtualTopic.producer.*.test]] INFO route21
- JMSDestination : *queue://Consumer.worker.VirtualTopic.producer.*.test*
Group : product1grp
12:08:56.293 [Camel (cameltester) thread #13 -
JmsConsumer[Consumer.worker.VirtualTopic.producer.*.test]] INFO route21
- JMSDestination : *queue://Consumer.worker.VirtualTopic.producer.*.test*
Group : product2grp
Compare the different result of the JMSDestination, I can't see how the
Producer is able to set the queue in 5.13.4 ?
Regards
Alex
--
View this message in context: http://activemq.2283324.n4.nabble.com/JMSDestination-value-different-between-5-12-1-and-5-13-0-tp4724196p4724265.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: JMSDestination value different between 5.12.1 and 5.13.0
Posted by Tim Bain <tb...@alumni.duke.edu>.
BTW, the page you linked to says "Set by the producer." Can you please
provide the source for the statement that it's set by the consumer in
5.13.0?
On Mar 28, 2017 9:35 AM, "Timothy Bish" <ta...@gmail.com> wrote:
> On 03/28/2017 10:32 AM, chiippy wrote:
>
>> Per the activeMQ message Properties definition : JMSDestination
>> <http://activemq.apache.org/activemq-message-properties.html>
>> However, since 5.13.0, the JMSDestination has been changed to be set by
>> the
>> Consumer instead of the Producer ?
>>
>> When using camel activemq, I have
>>
>> Producer : to("activemq:topic:VirtualTopic.A.B.channel1.payment")
>>
>> Consumer : from("activemq:queue:Consumer.myid.VirtualTopic.A.B.*.paymen
>> t")
>>
>> n 5.12.1, Logging the JMSDestination property, the value is
>> "topic://VirtualTopic.A.B.channel1.payment". This does match the
>> definition
>> above.
>>
>> However, when upgrades to 5.13.0, the logging value becomes
>> "queue://Consumer.myid.VirtualTopic.A.B.*.payment" which is the consumer
>> subscribed queue name, but not the producer topic ?
>>
>> I raised the question in Camel forum, Camel Query
>> <http://camel.465427.n5.nabble.com/Camel-Activemq-property-
>> JMSDestination-value-different-between-5-12-1-and-5-13-0-
>> td5796294.html#a5796300>
>> , I have been told to raise here.
>>
>> Anyone able to help as how can I get the Producer queue name from Consumer
>> side ? In my application, I am using JSMReplyTo for Consumer responses,
>> and
>> I am using the JMSDestination to set it at the Consumer end. As now this
>> value has been changed, I am lost as how to find out the original queue
>> name
>> which the producer used.
>>
>> Thanks
>>
>> Alex
>>
>>
>>
>> --
>> View this message in context: http://activemq.2283324.n4.nab
>> ble.com/JMSDestination-value-different-between-5-12-1-and-
>> 5-13-0-tp4724196.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>> You could try casting the message to the ActiveMQMessage type and
> checking the value of the Original Destination property. The current
> behavior matches what I'd expect it to be.
>
>
> --
> Tim Bish
> twitter: @tabish121
> blog: http://timbish.blogspot.com/
>
>
Re: JMSDestination value different between 5.12.1 and 5.13.0
Posted by chiippy <ch...@hotmail.com>.
Hi Tim
Thanks for the reply.
Yes, I can get the OriginalDestination via the ActiveMQMessage but no as
ideal as we are using JMSDesintion for routing all over the places. Is
there any way I can override JMSDestination at the consumer side by
intercepting the incoming Message ? Any side effect ?
Regards
Alex
--
View this message in context: http://activemq.2283324.n4.nabble.com/JMSDestination-value-different-between-5-12-1-and-5-13-0-tp4724196p4724264.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: JMSDestination value different between 5.12.1 and 5.13.0
Posted by Timothy Bish <ta...@gmail.com>.
On 03/28/2017 10:32 AM, chiippy wrote:
> Per the activeMQ message Properties definition : JMSDestination
> <http://activemq.apache.org/activemq-message-properties.html>
> However, since 5.13.0, the JMSDestination has been changed to be set by the
> Consumer instead of the Producer ?
>
> When using camel activemq, I have
>
> Producer : to("activemq:topic:VirtualTopic.A.B.channel1.payment")
>
> Consumer : from("activemq:queue:Consumer.myid.VirtualTopic.A.B.*.payment")
>
> n 5.12.1, Logging the JMSDestination property, the value is
> "topic://VirtualTopic.A.B.channel1.payment". This does match the definition
> above.
>
> However, when upgrades to 5.13.0, the logging value becomes
> "queue://Consumer.myid.VirtualTopic.A.B.*.payment" which is the consumer
> subscribed queue name, but not the producer topic ?
>
> I raised the question in Camel forum, Camel Query
> <http://camel.465427.n5.nabble.com/Camel-Activemq-property-JMSDestination-value-different-between-5-12-1-and-5-13-0-td5796294.html#a5796300>
> , I have been told to raise here.
>
> Anyone able to help as how can I get the Producer queue name from Consumer
> side ? In my application, I am using JSMReplyTo for Consumer responses, and
> I am using the JMSDestination to set it at the Consumer end. As now this
> value has been changed, I am lost as how to find out the original queue name
> which the producer used.
>
> Thanks
>
> Alex
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/JMSDestination-value-different-between-5-12-1-and-5-13-0-tp4724196.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
You could try casting the message to the ActiveMQMessage type and
checking the value of the Original Destination property. The current
behavior matches what I'd expect it to be.
--
Tim Bish
twitter: @tabish121
blog: http://timbish.blogspot.com/