mq 查看队列深度_java – 检查MQ队列深度

http://blog.guymahieu.com/2008/06/11/getting-the-depth-of-an-mqseries-queue-from-java/.

我重新实现了如下:

import com.ibm.mq.*;

public class QueueManager {

private final String host;

private final int port;

private final String channel;

private final String manager;

private final MQQueueManager qmgr;

public QueueManager(String host, int port, String channel, String manager) throws MQException {

this.host = host;

this.port = port;

this.channel = channel;

this.manager = manager;

this.qmgr = createQueueManager();

}

public int depthOf(String queueName) throws MQException {

MQQueue queue = qmgr.accessQueue(queueName, MQC.MQOO_INQUIRE | MQC.MQOO_INPUT_AS_Q_DEF, null, null, null);

return queue.getCurrentDepth();

}

@SuppressWarnings("unchecked")

private MQQueueManager createQueueManager() throws MQException {

MQEnvironment.channel = channel;

MQEnvironment.port = port;

MQEnvironment.hostname = host;

MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);

return new MQQueueManager(manager);

}

}

将以下jar放在类路径上:

> com.ibm.mq * jar> j2ee.jar

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您想了解如何使用Java的onMessage监听IBM MQ消息队列,是吗? 首先,您需要确保您已经安装了IBM MQ客户端,并且您已经设置了必要的连接参数和队列管理器名称。 接下来,您可以使用Java的JMS(Java Message Service)API来编写消息监听器。以下是一个简单的示例代码: ```java import javax.jms.*; import com.ibm.mq.jms.MQConnectionFactory; import com.ibm.mq.jms.MQQueueConnectionFactory; public class MQListener implements MessageListener { public static void main(String[] args) throws Exception { MQConnectionFactory factory = new MQQueueConnectionFactory(); factory.setHostName("localhost"); factory.setPort(1414); factory.setChannel("myChannel"); factory.setQueueManager("myQueueManager"); Connection connection = factory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.createQueue("myQueue"); MessageConsumer consumer = session.createConsumer(queue); consumer.setMessageListener(new MQListener()); connection.start(); System.out.println("Listening for messages..."); } public void onMessage(Message message) { try { System.out.println("Received message: " + message.getBody(String.class)); } catch (JMSException e) { e.printStackTrace(); } } } ``` 在这个例子中,我们创建了一个MQListener类,实现了MessageListener接口。我们使用MQConnectionFactory创建了一个连接,并指定了连接参数。然后,我们创建了一个会话、一个队列和一个消息消费者。最后,我们将MessageListener添加到消息消费者中,并启动连接。 当有新的消息到达队列时,onMessage方法会被调用,并且我们可以在方法中处理该消息。 请注意,上述示例仅适用于IBM MQ。如果您要使用其他消息队列,您需要使用相应的JMS API和连接工厂。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值