Description
When creating temporary queues we need to delete them as they remain live in memory as long as the connection remains live.
However, I am not clear of how I can delete the temp queues without closing the connection. I am using .Net (and therefore Apache.NMS.ActiveMQ), and I don't see any delete method in Apache.NMS.ActiveMQ.Commands.ActiveMQTempQueue (which is the runtime type returned when I create temp queue via the session), and I also don't see any delete method in Apache.NMS.ITemporaryQueue interface.
I tried to use Apache.NMS.ActiveMQ.Connection.DisposeOf which deletes the temp queue when I pass Apache.NMS.ActiveMQ.Commands.ActiveMQTempQueue to it. However, it seems to kill the connection, even though according to AMQNET-2 it should be resolved, as when I try to connect with the broker again right after I called disposeOf I am getting the following error:
System.Exception: Error writing to broker. Transport connection is closed.
at Apache.NMS.ActiveMQ.Transport.Tcp.TcpTransport.Oneway(Command command) : Transport connection error: Error writing to broker. Transport connection is closed.
Would you be able to advise us how we can delete temp queues without closing the connection.
Many thanks
N