Apache ActiveMQ消息中间件的基本使用 (二)

2014-11-24 10:26:35 · 作者: · 浏览: 1
ODO Auto-generated catch block
e1.printStackTrace();
}
try {
session.commit();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

});
TimeUnit.MINUTES.sleep(1);

session.close();
connection.close();

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");

Connection connection = connectionFactory.createConnection();
connection.start();

final Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("Test.foo");

MessageConsumer consumer = session.createConsumer(destination);
//listener 方式
consumer.setMessageListener(new MessageListener() {

public void onMessage(Message msg) {
ObjectMessage message = (ObjectMessage) msg;
//TODO something....
try {
User user = (User) message.getObject();
System.out.println("收到消息:"+user);
} catch (JMSException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
session.commit();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

});
TimeUnit.MINUTES.sleep(1);

session.close();
connection.close();
运行后,得到如下消息:

log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
收到消息:User [id=1, username=张三1, password=123456, now=Fri Jun 28 12:04:32 CST 2013]
收到消息:User [id=2, username=张三2, password=123456, now=Fri Jun 28 12:04:33 CST 2013]

.......