Hi Gastón,
you can use QMF method "delete" with parameters "type" ("queue" in our case)
and "name" (name of the queue).
Here is the code snippet from C++ program I use:
Connection connection(url/*, connectionOptions*/);
try {
connection.open();
Session session = connection.createSession();
Sender sender = session.createSender("qmf.default.direct/broker");
Address responseQueue("#reply-queue; {create:always,
node:{x-declare:{auto-delete:true}}}");
Receiver receiver = session.createReceiver(responseQueue);
Message message;
Variant::Map content;
Variant::Map OID;
Variant::Map arguments;
OID["_object_name"] = "org.apache.qpid.broker:broker:amqp-broker";
arguments["type"] = "queue";
arguments["name"] = queue_name; // a string of the queue name
content["_object_id"] = OID;
content["_method_name"] = "delete";
content["_arguments"] = arguments;
encode(content, message);
message.setReplyTo(responseQueue);
message.setProperty("x-amqp-0-10.app-id", "qmf2");
message.setProperty("qmf.opcode", "_method_request");
sender.send(message, true);
/* check response if the queue was properly deleted */
Message response;
if (receiver.fetch(response,qpid::messaging::Duration(30000)) == true)
{
qpid::types::Variant::Map recv_props = response.getProperties();
if (recv_props["x-amqp-0-10.app-id"] == "qmf2")
if (recv_props["qmf.opcode"] == "_method_response")
std::cout << "Response: OK" << std::endl;
else if (recv_props["qmf.opcode"] == "_exception")
std::cerr << "Error: " << response.getContent()
<< std::endl;
else
std::cerr << "Invalid response received!" <<
std::endl;
else
std::cerr << "Invalid response not of qmf2 type
received!" << std::endl;
}
else
std::cout << "Timeout: No response received within 30 seconds!"
<< std::endl;
connection.close();
return 0;
} catch(const std::exception& error) {
std::cout << error.what() << std::endl;
connection.close();
}
Kind regards,
Pavel
----- Original Message -----
> From: "Gaston Quezada" <[email protected]>
> To: [email protected]
> Sent: Monday, December 5, 2011 9:14:10 PM
> Subject: how to delete queue from jms client
>
> Hi,
>
> Im using qpid-client 0.12, and need delete queue from JMS client.
> the queue is not auto delete
>
> regards
>
> --
> Gastón Quezada
>
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]