You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by bobeo <vn...@gmail.com> on 2017/05/19 00:42:41 UTC

Re: AMQCPP -- Cannot publish to a delete Destination: temp-queue

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 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.