Hey Gordon, here is what I really mean. I think that this is way more useful
:
import java.util.Properties;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class AlternateExchangeTest {
public static void main(String[] args) throws JMSException,
NamingException
{
new AlternateExchangeTest().runTest();
}
private void runTest() throws JMSException, NamingException {
Connection connection = null;
Context context = null;
try {
Properties properties = new Properties();
properties.load(this.getClass().getResourceAsStream("/mrg/mrg.properties"));
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.qpid.jndi.PropertiesFileInitialContextFactory");
context = new InitialContext(properties);
ConnectionFactory connectionFactory = (ConnectionFactory)
context.lookup("qpidConnectionfactory");
connection = connectionFactory.createConnection();
connection.start();
Session
session=connection.createSession(false,Session.CLIENT_ACKNOWLEDGE);
Queue myQueue = session.createQueue("MY_QUEUE; {create:always,
delete:receiver, assert:always, node:{x-declare:{auto-delete:true,
exclusive: true, alternate-exchange: FANOUT_EXCHANGE}}}");
TextMessage message = session.createTextMessage("Sample");
MessageProducer producer = session.createProducer(myQueue);
producer.send(message);
/**
* You could un-comment this sleep to see that the queue
MY_QUEUE really exists and it has one message
*/
//Thread.sleep(1000000);
MessageConsumer messageConsumer =
session.createConsumer(myQueue);
Message messageResponse = null;
System.out.println("Receiving!");
do{
messageResponse = messageConsumer.receive(100);
} while(messageResponse == null);
System.out.println("Received!");
/**
* When I end up here, the queue exists and it has one message
according to qpid-stat -q
* Then I stop the Thread - big red button in Eclipse Console
* run qpid-stat -q again and notice that the queue is now
deleted, but the FANOUT_EXCHANGE reports no messages
* thus my message is deleted and forever gone?
*/
Thread.sleep(1000000);
} catch (Exception exp) {
exp.printStackTrace();
} finally{
connection.close();
context.close();
}
}
}
Thank You,
Eugene.
--
View this message in context:
http://apache-qpid-developers.2158895.n2.nabble.com/Red-Hat-MRG-alt-exchange-tp7368166p7371609.html
Sent from the Apache Qpid developers mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]