}
}
public void testDefaultExchanges() throws Exception
{
AMQConnection conn = null;
try
{
BrokerDetails broker = getBroker();
broker.setProperty(BrokerDetails.OPTIONS_RETRY, "1");
ConnectionURL url = new AMQConnectionURL("amqp://guest:guest@clientid/test?brokerlist='"
+ broker
+ "'&defaultQueueExchange='test.direct'"
+ "&defaultTopicExchange='test.topic'"
+ "&temporaryQueueExchange='tmp.direct'"
+ "&temporaryTopicExchange='tmp.topic'");
System.err.println(url.toString());
conn = new AMQConnection(url);
AMQSession sess = (AMQSession) conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
sess.declareExchange(new AMQShortString("test.direct"),
AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS), false);
sess.declareExchange(new AMQShortString("tmp.direct"),
AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS), false);
sess.declareExchange(new AMQShortString("tmp.topic"),
AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS), false);
sess.declareExchange(new AMQShortString("test.topic"),
AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS), false);
QueueSession queueSession = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
AMQQueue queue = (AMQQueue) queueSession.createQueue("MyQueue");
assertEquals(queue.getExchangeName().toString(), "test.direct");
AMQQueue tempQueue = (AMQQueue) queueSession.createTemporaryQueue();
assertEquals(tempQueue.getExchangeName().toString(), "tmp.direct");
queueSession.close();
TopicSession topicSession = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
AMQTopic topic = (AMQTopic) topicSession.createTopic("silly.topic");
assertEquals(topic.getExchangeName().toString(), "test.topic");
AMQTopic tempTopic = (AMQTopic) topicSession.createTemporaryTopic();
assertEquals(tempTopic.getExchangeName().toString(), "tmp.topic");
topicSession.close();
}
catch (Exception e)
{
fail("Connection to " + getBroker() + " should succeed. Reason: " + e);
}
finally
{
conn.close();
}
}