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/