快速业务通道

利用JMS建立消息传递系统 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
行状态。)

好了,现在我们开始建立示例发送程序和接收程序了:

// SimpleSender.java import java.util.Properties; import javax.jms.*; import javax.naming.*; public class SimpleSender {  public static void main(String argv[]) {   new SimpleSender();  }  public SimpleSender() {   try {    QueueConnectionFactory myQConnFactory;    Queue myQueue;    Properties properties = new Properties();    properties.put(Context.INITIAL_CONTEXT_FACTORY,            "org.jnp.interfaces.NamingContextFactory");    properties.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces");    properties.put(Context.PROVIDER_URL, "localhost");    Context ctx = new InitialContext(properties);    myQConnFactory = (QueueConnectionFactory)ctx.lookup             ("UIL2ConnectionFactory");    myQueue = (Queue) ctx.lookup("queue/testQueue");    ctx.bind ("SimpleSender", myQueue);    QueueConnection con = myQConnFactory.createQueueConnection();    QueueSession session = con.createQueueSession(false,               Session.AUTO_ACKNOWLEDGE);    TextMessage textMessage = session.createTextMessage();    QueueSender sender = session.createSender(myQueue);    con.start();    for (int i=0; i<10; i++) {     textMessage.setText("Hello World #" + i);     sender.send(textMessage);    }    con.close();    ctx.close();   } catch(Exception e) {    e.printStackTrace();   }  } }

利用JMS建立消息传递系统(4)

时间:2010-05-21

我们有两种接收消息的途径。第一种是使用javax.jms.QueueReceiver的receive()方法向队列同步请求消息。这可能阻塞接收程序,直到它不接收消息为止,或者如何某个消息没有在特定的时间间隔内到达而返回超时操作。第二种是一旦可以访问消息了就异步接收消息,使用javax.jms.MessageListener调用onMessage()方法,它会处理消息的内容。

建立接收程序的很多步骤与建立发送程序的步骤类似:

// SyncReceiver.java import java.util.Properties; import javax.jms.*; import javax.naming.*; public class SyncReceiver {  public static void main(String argv[])  {   new SyncReceiver();  }  public SyncReceiver() {   try {    QueueConnectionFactory myQConnFactory;    Queue myQueue;    Properties properties = new Properties();    properties.put(Context.INITIAL_CONTEXT_FACTORY,           "org.jnp.interfaces.NamingContextFactory");    properties.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces");    properties.put(Context.PROVIDER_URL, "localhost");    Context ctx = new InitialContext(properties);    myQConnFactory = (QueueConnectionFactory)ctx.lookup("UIL2ConnectionFactory");    myQueue = (Queue) ctx.lookup("queue/testQueue");    ctx.bind("SyncReceiver", myQueue);    QueueConnection con = myQConnFactory.createQueueConnection();    QueueSession session = con.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);    QueueReceiver

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号