读书人

JMS学习札记 (queue的使用)3

发布时间: 2012-10-06 17:34:01 作者: rapoo

JMS学习笔记 (queue的使用)3

4. 异步接收队列中的消息

package queue;
import javax.jms.*;
import javax.naming.*;
import java.util.Properties;
import java.io.*;
public class AsyncReceiver
{
??? public static void main(String args[]) throws Exception
??? {
??????? QueueReceiver receiver;
??????? Properties p = new Properties();
??????? FileInputStream f = new FileInputStream("D:\\resource\\jndi.properties");
??????? p.load(f);
??????? Context ctx = new InitialContext(p);
??????? QueueConnectionFactory qConFactory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
??????? Queue messageQueue = (Queue) ctx.lookup("queue/bitsqueue");
??????? System.out.println(messageQueue);
??????? QueueConnection qCon = qConFactory.createQueueConnection();
??????? QueueSession session = qCon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
??????? receiver = session.createReceiver(messageQueue);
??????? receiver.setMessageListener(new Handler());
??????? qCon.start();
??? }
}

?

package queue;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
public class Handler implements MessageListener
{
??? public void onMessage(Message m)
??? {
??????? TextMessage msg = (TextMessage) m;
??????? try{
??????????? System.out.println("receiv 消息:" + msg.getText());???
??????? }catch(JMSException ex){
??????????? ex.printStackTrace();
??????? }
??? }
}

读书人网 >软件架构设计

热点推荐