`
a3mao
  • 浏览: 563491 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IBM MQ系列编程3--------接收消息

阅读更多
import com.ibm.mq.*; //Include the WebSphere MQ classes for Java package

public class MQReceiver {
    // define the name of the QueueManager
  private static String qManager;
    // and define the name of the Queue
  private static String qName;
   
    // main method: simply call the runReceiver() method
    public static void main(String args[]) {
      if (args == null || args.length != 1) {
System.out.println("needs one argument: <Queue Name>");
System.exit (0);
      }
      new MQReceiver().runReceiver(args);
    }

    public void runReceiver(String args[]) {
        qName = args[0];
        qManager = System.getProperty ("message.queue.manager");
        try {
            // Create a connection to the QueueManager
System.out.println("Connecting to queue manager: "+qManager);
MQEnvironment.channel = System.getProperty ("message.chanel.name");
MQEnvironment.hostname = System.getProperty ("message.queue.server");
MQEnvironment.port = new Integer ((System.getProperty ("message.queue.port"))).intValue();
MQEnvironment.CCSID = new Integer ((System.getProperty ("message.queue.ccsid"))).intValue();

            MQQueueManager qMgr = new MQQueueManager(qManager);

            // Now specify the queue that we wish to open and the open options
            System.out.println("Accessing queue: "+qName);

            // Now get the message back again. First define a WebSphere MQ message
            // to receive the data
            MQMessage rcvMessage = new MQMessage();
           
            // Specify default get message options
            MQGetMessageOptions gmo = new MQGetMessageOptions();

            // Set up the options on the queue we wish to open
    int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_FAIL_IF_QUIESCING;
            MQQueue queue = qMgr.accessQueue(qName, openOptions);
    while (true) {
      // Get the message off the queue.
      gmo.options = MQC.MQGMO_WAIT | MQC.MQGMO_CONVERT;
      gmo.waitInterval = 15000000; // 15000 seconds
      gmo.matchOptions = MQC.MQMO_NONE;

      rcvMessage.correlationId = MQC.MQCI_NONE;
      rcvMessage.messageId = MQC.MQMI_NONE;
      rcvMessage.groupId = MQC.MQGI_NONE;
      rcvMessage.clearMessage();

      queue.get(rcvMessage, gmo);
      //       String msgText = rcvMessage.readUTF();
      String msgText = rcvMessage.readStringOfByteLength( rcvMessage.getMessageLength( ) );
      System.out.println("The message is: " + msgText);
      if (msgText.equals ("exit"))
break;
    }
    // Close the queue
    System.out.println("Closing the queue");
            queue.close();

            // Disconnect from the QueueManager
            System.out.println("Disconnecting from the Queue Manager");
            qMgr.disconnect();

            System.out.println("Done!");
        }
        catch (MQException ex) {
            System.out.println("A WebSphere MQ Error occured : Completion Code "
                    + ex.completionCode + " Reason Code " + ex.reasonCode);
        }
        catch (java.io.IOException ex) {
            System.out.println("An IOException occured whilst writing to the message buffer: "
                    + ex);
        }
    }
}


分享到:
评论
1 楼 sjz64472418 2013-01-24  
哥们,请教个问题,如果是从队列中按照messageI的获取指定的消息,以获取之后就删除的方式获取,应该怎么获取呢?

相关推荐

    IBM MQ 7.5.0 windows版本-全部

    IBM MQ,全称为IBM WebSphere MQ,是一款由IBM公司开发的消息中间件产品,它在企业级应用集成中扮演着至关重要的角色。IBM MQ 7.5.0是该产品的特定版本,专为Windows操作系统设计。这个版本包含了所有必要的组件和...

    IBM MQ编程模式中文版

    通过这份"IBM MQ编程模式中文版"指南,开发者将学习如何创建和配置Queue Manager,建立与MQ的连接,发送和接收消息,处理消息属性,以及正确地处理异常。此外,还会了解到一些最佳实践和常见编程模式,以便于在实际...

    IBM MQ应用编程指南

    《IBM MQ应用编程指南》是一本面向开发人员的详尽参考资料,旨在帮助读者掌握如何使用各种编程语言与IBM MQ进行交互,实现高效、稳定的消息传递。IBM MQ是业界广泛采用的企业级消息中间件,它提供了可靠的异步通信...

    WebSphere MQ For JAVA编程实例----实现MQ trigger---配置篇

    其他方法和类逻辑可能包括处理消息、连接到MQ队列管理器、接收和发送消息等。 总结来说,WebSphere MQ for Java编程涉及了与消息队列的交互,包括创建和配置触发器,以及编写Java程序来响应这些触发器。理解这些...

    IBMMQ测试工具

    在这个场景中,我们关注的是“IBMMQ测试工具”,尤其是名为`rfhutil`的工具。 **rfhutil工具介绍** `rfhutil`是IBM MQ工具集的一部分,主要用于测试和调试IBM MQ消息队列。这个命令行工具可以帮助用户创建、查看、...

    IBM MQ7.0.1.3.jar包

    1. com.ibm.mq.jmqi-7.0.1.3.jar:这部分是IBM MQ的Java消息接口(JMS Interface)实现,提供了与IBM MQ服务器进行交互的API,使得开发者可以利用Java编程语言来操作消息队列,进行消息的发送和接收。 2. ...

    mq.rar_MQ_ibm mq 实例代码_ibm mq 文件传输_ibm mqput怎么用_put

    IBM MQ提供了丰富的Java API,使得开发者可以通过编程方式轻松地进行消息的发送和接收。以下是一个简单的`put`操作示例: ```java import com.ibm.mq.*; public class MQPutExample { public static void main...

    JAVA连接IBM MQ代码

    在IT行业中,Java是一种广泛应用的编程语言,而IBM MQ(原名WebSphere MQ)是IBM提供的消息中间件,用于在不同系统之间可靠地传递数据。本文将深入探讨如何使用Java来连接IBM MQ,以实现跨平台的信息交换。 首先,...

    C# 实现消息的收发IBM WebSphere MQ 消息队列

    在本文中,我们将深入探讨如何使用C#编程语言与IBM WebSphere MQ进行交互,实现消息的发送和接收。IBM WebSphere MQ(前身为MQSeries)是一种企业级的消息中间件,它提供了一种可靠且可扩展的方式,使得应用程序可以...

    ibm mq开发教程.pdf

    IBM MQ是一个消息代理软件,它允许应用程序通过网络发送和接收消息。它是中间件的一种形式,主要用于开发和集成应用程序,提供可靠的消息传递,并支持跨多个平台的数据传输。IBM MQ支持多种编程语言和平台,使开发...

    IBM MQ资料集合

    2. **MQ JAVA编程**:这部分资料可能涵盖了使用Java API进行IBM MQ编程的细节,包括JMS(Java Message Service)接口的使用、队列管理器的连接、消息的发送和接收、异常处理等。通过学习,开发者可以将MQ功能整合到...

    IBM MQ学习总结文档

    - **AMQ8101 错误**:这是一个常见的错误代码,表示“发生 IBMMQ 错误 (80F)”。此错误通常发生在安装过程中,可能是由于缺少必要的系统组件或不兼容的环境导致的。 - **配置完成后需要重启**:在完成IBM MQ的安装和...

    java IBM MQ 7.5.0 生产者和消费者实例

    IBM提供了一个Java Message Service (JMS) API,允许Java应用程序通过IBM MQ发送和接收消息。JMS API包含两种主要对象:`QueueSender`(生产者)和`QueueReceiver`(消费者)。 3. **生产者实例**: 生产者应用...

    IBM MQ 7.0全部帮助文档

    IBM MQ,原名为WebSphere MQ,是IBM提供的一款企业级的消息中间件产品,它允许不同应用程序、系统和网络之间的安全、可靠、高效的数据交换。在IBM MQ 7.0版本中,这一技术得到了进一步的强化和完善,为开发者提供了...

    IBM-MQ项目DEMO和Jar包.zip

    7. **MQ Demo**:"mq-demo.zip"很可能是包含了一些示例代码,这些示例可以帮助开发者了解如何使用IBM MQ API进行消息的发送和接收,以及如何配置和管理队列。 对于Java开发者来说,`mq-demo.zip`中的代码演示可能...

    访问 IBM MQ 服务所需要jar包

    IBM MQ(原名WebSphere MQ)是IBM提供的一款企业级的消息中间件,它允许应用程序在不同的网络协议、操作系统和硬件平台之间交换消息。在Java环境下,为了与IBM MQ进行交互,开发者通常需要引入一系列的jar包。这些...

    IBM_MQ下载

    IBM WebSphere MQ,通常简称为IBM MQ,是IBM公司提供的一款高效、可靠的企业级消息中间件产品。它在企业系统间传输数据,确保了数据的可靠传输和事务处理,是构建分布式系统和实现异构环境间通信的重要工具。在本...

    ibmmq所需jar包.rar

    "ibmmq所需jar包.rar" 包含了这些必要的库,使得开发者能够轻松集成IBM MQ的功能到他们的应用中。 1. **com.ibm.mq.jmqi.jar**: 这个JAR文件包含了IBM MQ Java Message Interface (JMQI) 的实现,它是Java应用程序...

    JMS IBM MQ 订阅模式

    1. **IBM MQ Topic**:在IBM MQ中,Topic是发布/订阅模型的核心,它代表一个主题,发布者将消息发送到主题,订阅者则注册对特定主题的兴趣以接收消息。 2. **订阅者**:订阅者通过创建一个Subscriber对象来订阅主题...

    IBM MQ jdk1.7以上

    3. **跨平台兼容性**:IBM MQ可在各种操作系统(如Windows、Linux、Unix等)上运行,支持多种编程语言(如Java、C++、Python等),适应不同的企业环境需求。 4. **高可用性和可扩展性**:通过集群和镜像队列技术,...

Global site tag (gtag.js) - Google Analytics