You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by dpatel <dh...@factset.com> on 2013/10/11 00:44:24 UTC
AMQCPP -- Cannot publish to a delete Destination: temp-queue
In my application I am creating a TempararyQueue queue and I set it in
MapMessage as my ReplyTo queue. My listener is written in C++ and uses
activemq-cpp. In version 3.6 everything works fine. My response from the
listener makes it back to MapMessage. However when I upgraded to 3.8 (even
3.7) when I try to send a response back in C++ I keep getting error like
2013-10-10T19:23:36.411-0000 tid=848 level=ERROR - ERROR: Cannot publish to
a deleted Destination: temp-queue://ID:unixdeva09-35460-1380645155113-3:1:2
Can someone please help!!!
--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQCPP-Cannot-publish-to-a-delete-Destination-temp-queue-tp4672611.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: AMQCPP -- Cannot publish to a delete Destination: temp-queue
Posted by Clebert Suconic <cl...@gmail.com>.
I would use either a newer activemq or Artemis version.
On Fri, May 19, 2017 at 8:09 PM bobeo <vn...@gmail.com> wrote:
> hi Tim,
>
> Maybe I wasn't clear enough. Let me make it clear again:
>
> First, I have a queue : sn.queue.settings.
>
> From Java, I send a message to that queue, and I can see from the log of
> activemq broker, I highlight important bits:
>
> INFO | Sending message: ActiveMQTextMessage {commandId = 24,
> responseRequired = false, *messageId =
> ID:ubuntu-14-dev-49451-1495115456046-1:1:1:1:3*, originalDestination =
> null,
> originalTransactionId = null, producerId =
> ID:ubuntu-14-dev-49451-1495115456046-1:1:1:1, destination =
> queue://sn.queue.settings, transactionId = null, expiration =
> 1495115724634,
> timestamp = 1495115722634, arrival = 0, brokerInTime = 0, brokerOutTime =
> 0,
> correlationId = null, *replyTo =
> temp-queue://ID:ubuntu-14-dev-49451-1495115456046-1:1:3*, persistent =
> false, type = null, priority = 4, groupID = null, groupSequence = 0,
> targetConsumerId = null, compressed = false, userID = null, content =
> org.apache.activemq.util.ByteSequence@1cf5297b, marshalledProperties =
> org.apache.activemq.util.ByteSequence@21c49053, dataStructure = null,
> redeliveryCounter = 0, size = 0, properties = {fromHost=central,
> toHost=central}, readOnlyProperties = false, readOnlyBody = false,
> droppable
> = false, jmsXGroupFirstForConsumer = false, text = <?xml version="1.0"
> encoding="UTF-8" standalo...></settings>
>
> As you can see, I set replyTo to a temporary queu
> "temp-queue://ID:ubuntu-14-dev-49451-1495115456046-1:1:3"
>
> My consumer( client ) is written in C++, from onMessage() callback, I
> receive the message :
>
> Message ID =
> ID:sensen-hyd-edge-demo-01-42179-1495108420785-1:1:1:1:3:-1:-1:2
> Destination type = 3
>
> And when I try to send back the reply with the destination from
> message->getCMSReplyTo(), it gives me exception:
>
> Cannot publish to a deleted Destination: temp-queue://
> FILE: activemq/core/kernels/ActiveMQSessionKernel.cpp, LINE: 1013
> FILE: activemq/core/kernels/ActiveMQProducerKernel.cpp, LINE: 274
> FILE: activemq/core/kernels/ActiveMQProducerKernel.cpp, LINE: 184
> FILE: activemq/core/ActiveMQProducer.cpp, LINE: 100
>
> I hope this is clearer. Do you still think the broker has advisory support
> disabled? ( How to check this? ).
>
> Is this the right way to disable the watching of temp destination?
>
> amqConnFactory = new ActiveMQConnectionFactory(CONN);
> amqConnFactory.setWatchTopicAdvisories(false);
>
> Thanks a lot for your help.
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/AMQCPP-Cannot-publish-to-a-delete-Destination-temp-queue-tp4672611p4726407.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
--
Clebert Suconic
Re: AMQCPP -- Cannot publish to a delete Destination: temp-queue
Posted by bobeo <vn...@gmail.com>.
hi Tim,
Maybe I wasn't clear enough. Let me make it clear again:
First, I have a queue : sn.queue.settings.
From Java, I send a message to that queue, and I can see from the log of
activemq broker, I highlight important bits:
INFO | Sending message: ActiveMQTextMessage {commandId = 24,
responseRequired = false, *messageId =
ID:ubuntu-14-dev-49451-1495115456046-1:1:1:1:3*, originalDestination = null,
originalTransactionId = null, producerId =
ID:ubuntu-14-dev-49451-1495115456046-1:1:1:1, destination =
queue://sn.queue.settings, transactionId = null, expiration = 1495115724634,
timestamp = 1495115722634, arrival = 0, brokerInTime = 0, brokerOutTime = 0,
correlationId = null, *replyTo =
temp-queue://ID:ubuntu-14-dev-49451-1495115456046-1:1:3*, persistent =
false, type = null, priority = 4, groupID = null, groupSequence = 0,
targetConsumerId = null, compressed = false, userID = null, content =
org.apache.activemq.util.ByteSequence@1cf5297b, marshalledProperties =
org.apache.activemq.util.ByteSequence@21c49053, dataStructure = null,
redeliveryCounter = 0, size = 0, properties = {fromHost=central,
toHost=central}, readOnlyProperties = false, readOnlyBody = false, droppable
= false, jmsXGroupFirstForConsumer = false, text = <?xml version="1.0"
encoding="UTF-8" standalo...></settings>
As you can see, I set replyTo to a temporary queu
"temp-queue://ID:ubuntu-14-dev-49451-1495115456046-1:1:3"
My consumer( client ) is written in C++, from onMessage() callback, I
receive the message :
Message ID =
ID:sensen-hyd-edge-demo-01-42179-1495108420785-1:1:1:1:3:-1:-1:2
Destination type = 3
And when I try to send back the reply with the destination from
message->getCMSReplyTo(), it gives me exception:
Cannot publish to a deleted Destination: temp-queue://
FILE: activemq/core/kernels/ActiveMQSessionKernel.cpp, LINE: 1013
FILE: activemq/core/kernels/ActiveMQProducerKernel.cpp, LINE: 274
FILE: activemq/core/kernels/ActiveMQProducerKernel.cpp, LINE: 184
FILE: activemq/core/ActiveMQProducer.cpp, LINE: 100
I hope this is clearer. Do you still think the broker has advisory support
disabled? ( How to check this? ).
Is this the right way to disable the watching of temp destination?
amqConnFactory = new ActiveMQConnectionFactory(CONN);
amqConnFactory.setWatchTopicAdvisories(false);
Thanks a lot for your help.
--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQCPP-Cannot-publish-to-a-delete-Destination-temp-queue-tp4672611p4726407.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: AMQCPP -- Cannot publish to a delete Destination: temp-queue
Posted by bobeo <vn...@gmail.com>.
hi Tim,
I'm facing the same problem of Cannot publish to a deleted Destination:
temp-queue://
I've tried both Java server - C++ client and C++ server - C++ client , but
both end up with the same error "Cannot publish to a deleted Destination:
temp-queue://"
I'm using Activemq 3.9.1 on Ubuntu. I've attach my unit test in cpp in case
you need to reproduce the problem.
Thanks.
testActiveMQ_RequestResponse.cpp
<http://activemq.2283324.n4.nabble.com/file/n4726381/testActiveMQ_RequestResponse.cpp>
--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQCPP-Cannot-publish-to-a-delete-Destination-temp-queue-tp4672611p4726381.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: AMQCPP -- Cannot publish to a delete Destination: temp-queue
Posted by Timothy Bish <ta...@gmail.com>.
On 10/11/2013 11:37 AM, dpatel wrote:
> Hey Tim,
>
> AdvisoryMessages are disabled. I added a call to set watchTopicAdvisors to
> false on my client side.
>
> amqConnFactory = new ActiveMQConnectionFactory(CONN);
> amqConnFactory.setWatchTopicAdvisories(false);
> conn = amqConnFactory.createConnection();
> conn.start();
>
> However that did not fix the issue. I am attaching my broker xml incase that
> gives you any ideas. activemq.xml
> <http://activemq.2283324.n4.nabble.com/file/n4672670/activemq.xml>
>
> Once again the same everything works just fine with activemq-cpp 3.6
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/AMQCPP-Cannot-publish-to-a-delete-Destination-temp-queue-tp4672611p4672670.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
Then you'd need a test case to allow me to look further. If the
connection that created the temp dest goes away it will be deleted, so
ensure your not inadvertantly removing it.
--
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.bish@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/
Re: AMQCPP -- Cannot publish to a delete Destination: temp-queue
Posted by dpatel <dh...@factset.com>.
Hey Tim,
AdvisoryMessages are disabled. I added a call to set watchTopicAdvisors to
false on my client side.
amqConnFactory = new ActiveMQConnectionFactory(CONN);
amqConnFactory.setWatchTopicAdvisories(false);
conn = amqConnFactory.createConnection();
conn.start();
However that did not fix the issue. I am attaching my broker xml incase that
gives you any ideas. activemq.xml
<http://activemq.2283324.n4.nabble.com/file/n4672670/activemq.xml>
Once again the same everything works just fine with activemq-cpp 3.6
--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQCPP-Cannot-publish-to-a-delete-Destination-temp-queue-tp4672611p4672670.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: AMQCPP -- Cannot publish to a delete Destination: temp-queue
Posted by Timothy Bish <ta...@gmail.com>.
On 10/10/2013 06:44 PM, dpatel wrote:
> In my application I am creating a TempararyQueue queue and I set it in
> MapMessage as my ReplyTo queue. My listener is written in C++ and uses
> activemq-cpp. In version 3.6 everything works fine. My response from the
> listener makes it back to MapMessage. However when I upgraded to 3.8 (even
> 3.7) when I try to send a response back in C++ I keep getting error like
>
> 2013-10-10T19:23:36.411-0000 tid=848 level=ERROR - ERROR: Cannot publish to
> a deleted Destination: temp-queue://ID:unixdeva09-35460-1380645155113-3:1:2
>
> Can someone please help!!!
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/AMQCPP-Cannot-publish-to-a-delete-Destination-temp-queue-tp4672611.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
Did you turn off advisories on the broker? If so then you need to
disable watching topics on the client via the ActiveMQConnectionFactory
watchTopicAdvisories option.
--
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.bish@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/