`

Java 获取MQ 本地队列的消息

 
阅读更多

最近工作中需要用的从MQ队列中取消息的业务..找了一下MQ API写了一个实例..

 

建立一个QueueManagerEntity实体:

如下:

 private String queueManagerName; //队列管理器名称;
 private int port;  //端口号
 private String svrconn;  //连接通道
 private String hostName; //主机地址
 private String queueName; //队列名称;

// getter和setter方法省略...
 

 

 

 

下列是通过Java程序获取WebSphere MQ 本地队列的消息代码:

public static String getMessageFromQueue(MQQueueManager queueManager,MQQueueEntity entity)
    {
        logger.debug("getMssageFromQueue begin:"+entity.getQueueName());
        MQEnvironment.hostname = entity.getHostName();
        MQEnvironment.port = entity.getProt();
        MQEnvironment.channel = entity.getChannel();
        MQEnvironment.CCSID = 1383;
        int openOptions = MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_OUTPUT|MQC.MQOO_INQUIRE;
        String msg=null;
        try
        {
           MQQueue queue=queueManager.accessQueue(entity.getQueueName(), openOptions);
           MQMessage message=new MQMessage();
         
           MQGetMessageOptions pmo=new MQGetMessageOptions();
           queue.get(message,pmo);
           message.format=MQC.MQFMT_STRING;
           message.characterSet=1381;
           msg=message.readString(message.getMessageLength());
           queue.close();
           queueManager.disconnect();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return msg;
    }
 

 

分享到:
评论

相关推荐

    IBMMQ消息队列整合

    通过以上知识点的详细介绍,我们可以看到IBM MQ与Java技术相结合后的强大功能,包括但不限于消息的发送与接收、队列管理器和队列的创建、服务器连接通道的配置等。这些知识点对于深入理解IBM MQ的工作原理以及如何在...

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

    Java IBM MQ 7.5.0 是IBM提供的消息中间件,用于在分布式系统中可靠地传输数据。MQ(Message Queue)允许应用程序通过消息传递进行通信,而不是直接调用彼此,从而提高了系统的可扩展性和解耦性。MQTT(Message ...

    MQ6.0使用Java编程

    - 调用`QueueReceiver`的`receive`方法来获取队列中的消息。可以设置超时时间或者使用阻塞模式等待消息到达。 6. **事务处理**: - JMS支持两种类型的事务:本地事务(依托于JMS会话)和分布式事务(X/Open XA)...

    MQ本机实现两个队列管理器消息传递.doc

    在Java代码中,可以看到如何设置主机名、通道、队列管理器和队列名称,以及建立MQQueueManager实例,使用MQQueue对象进行消息的投入和获取。 6. **MQ环境设置**:包括设置传输协议(例如MQC.TRANSPORT_MQSERIES)、...

    WebSphere MQ7.0配置与测试(java 源码,含图)

    2. 创建一个本地队列"Q1",并将它的用法改为"传输",以便作为消息的出站队列。 3. 创建一个远程队列"Q2",将其远程队列和队列管理器分别设置为"Q2"和"Receive",并指定"Q1"作为传输队列。 4. 创建一个名为"C.TO.S"的...

    WebSphere MQ自学笔记

    - **将消息发送至本地队列**:使用Java代码将消息发送到本地队列中。 - **将消息发送至远程队列**:编写Java程序,通过消息通道将消息发送到远程队列。 - **在客户机-服务器配置上发送消息**:设计和实现客户机-...

    java结合WebSphere MQ实现接收队列文件功能

    总结起来,Java结合WebSphere MQ实现接收队列文件功能涉及到WebSphere MQ的安装配置、队列和通道的管理,以及使用IBM MQ Java API进行消息的接收和处理。这一过程确保了在企业级环境中,数据能高效、可靠地在不同...

    JMS获取与发送MQ信息 MQ命令

    Java消息服务(JMS)是应用程序之间进行异步通信的一种标准API,而MQ(Message Queuing)是一种消息中间件,它允许应用程序在分布式环境中交换消息。JMS通常用于MQ的编程接口,而MQ命令用于管理MQ系统,包括队列管理...

    websphere mq using java

    - **MQQueue**:表示消息队列的 Java 对象,可以用于发送和接收消息。 - **MQMessage**:封装消息的数据结构。 ##### Java Message Service (JMS) 支持 文档还介绍了如何使用 Java Message Service (JMS) 规范来...

    ibm mq 7.5开发依赖jar包

    JMQI是IBM MQ的本地Java API,用于直接与队列管理器交互,执行如打开、关闭队列,发送和接收消息等操作。 3. **commonservices-7.5.jar, commonservices-7.6.jar**: 这两个文件包含了IBM MQ的一些通用服务,可能...

    mq_demo(java).zip

    4. **消息接收**:同样,`MQGetMessageOptions`和`MQMessage`类用于从队列中获取并读取消息。可以选择同步或异步接收,根据应用需求选择合适的模式。 5. **事务处理**:为了保证消息的一致性,我们可以使用MQ的事务...

    RabbitMQ Java测试客户端

    在RabbitMQ中,发送端(Producer)负责生产消息并将其发布到交换机,而接收端(Consumer)则从队列中获取并消费这些消息。这两个文件很可能是Java程序,分别展示了如何使用RabbitMQ Java客户端库来实现消息的发送和...

    com.ibm.mq.jar

    7. **事务处理**:IBM MQ支持本地Java事务和X/Open XA分布式事务,确保消息的原子性和一致性。 8. **连接工厂和目的地**:在使用JMS时,你需要创建连接工厂来建立与MQ队列管理器的连接,并定义消息的目的地(队列或...

    精通IBM WebSphere(MQ)

    - **本地队列**:位于同一队列管理器内的队列。 - **远程队列**:位于不同队列管理器中的队列。 ##### 1.2.3 队列管理器 (Queue Manager) 队列管理器是 WMQ 的核心组件,负责管理队列和其他资源。它可以被视为一个...

    IBM MQ API以及其他的资料

    2. **Queue(队列)**:消息的存储和转发单元,可以是本地队列或远程队列。 3. **Channel(通道)**:定义了两个队列管理器之间的通信路径,用于消息传输。 4. **Message(消息)**:在队列间传输的数据单元,可以...

    WebSphere MQ AIX 版快速入门

    队列可以是本地队列,也可以是远程队列,用于与其他队列管理器通信。 5. **通道**:通道是MQ中数据传输的桥梁,分为服务器通道和客户机通道。它们负责在队列管理器之间建立连接,传输消息。通道配置包括通道名称、...

    activityMQ-Demo

    7. **监控与管理**:为了便于故障排查和性能优化,ActivityMQ-Demo可能会展示如何集成监控工具,如通过JMX(Java Management Extensions)接口获取MQ的相关指标,如消息速率、队列长度等。 通过深入学习和实践...

    IBM WebSphere MQ 7.5基本用法

    可以使用`DEFINE QUEUE`命令创建本地队列,也可以通过定义远程队列映射(Remote Queue Mapping,RQM)来访问远程队列。 5. 编写应用程序:WMQ提供了多种语言的API,如Java的JMS(Java Message Service)接口、C/C++...

    WEBSPERE MQ学习

    发送者创建并发送消息,接收者从队列中获取并处理消息,而MQM则负责管理和维护消息队列,包括存储、路由和传递消息。 接下来,我们来讨论“编程模式”。在WebSphere MQ中,有几种常见的编程模式: 1. **点对点模式...

Global site tag (gtag.js) - Google Analytics