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);
}
}
}
分享到:
相关推荐
IBM MQ,全称为IBM WebSphere MQ,是一款由IBM公司开发的消息中间件产品,它在企业级应用集成中扮演着至关重要的角色。IBM MQ 7.5.0是该产品的特定版本,专为Windows操作系统设计。这个版本包含了所有必要的组件和...
通过这份"IBM MQ编程模式中文版"指南,开发者将学习如何创建和配置Queue Manager,建立与MQ的连接,发送和接收消息,处理消息属性,以及正确地处理异常。此外,还会了解到一些最佳实践和常见编程模式,以便于在实际...
《IBM MQ应用编程指南》是一本面向开发人员的详尽参考资料,旨在帮助读者掌握如何使用各种编程语言与IBM MQ进行交互,实现高效、稳定的消息传递。IBM MQ是业界广泛采用的企业级消息中间件,它提供了可靠的异步通信...
其他方法和类逻辑可能包括处理消息、连接到MQ队列管理器、接收和发送消息等。 总结来说,WebSphere MQ for Java编程涉及了与消息队列的交互,包括创建和配置触发器,以及编写Java程序来响应这些触发器。理解这些...
在这个场景中,我们关注的是“IBMMQ测试工具”,尤其是名为`rfhutil`的工具。 **rfhutil工具介绍** `rfhutil`是IBM MQ工具集的一部分,主要用于测试和调试IBM MQ消息队列。这个命令行工具可以帮助用户创建、查看、...
1. com.ibm.mq.jmqi-7.0.1.3.jar:这部分是IBM MQ的Java消息接口(JMS Interface)实现,提供了与IBM MQ服务器进行交互的API,使得开发者可以利用Java编程语言来操作消息队列,进行消息的发送和接收。 2. ...
在IT行业中,Java是一种广泛应用的编程语言,而IBM MQ(原名WebSphere MQ)是IBM提供的消息中间件,用于在不同系统之间可靠地传递数据。本文将深入探讨如何使用Java来连接IBM MQ,以实现跨平台的信息交换。 首先,...
在本文中,我们将深入探讨如何使用C#编程语言与IBM WebSphere MQ进行交互,实现消息的发送和接收。IBM WebSphere MQ(前身为MQSeries)是一种企业级的消息中间件,它提供了一种可靠且可扩展的方式,使得应用程序可以...
IBM MQ是一个消息代理软件,它允许应用程序通过网络发送和接收消息。它是中间件的一种形式,主要用于开发和集成应用程序,提供可靠的消息传递,并支持跨多个平台的数据传输。IBM MQ支持多种编程语言和平台,使开发...
2. **MQ JAVA编程**:这部分资料可能涵盖了使用Java API进行IBM MQ编程的细节,包括JMS(Java Message Service)接口的使用、队列管理器的连接、消息的发送和接收、异常处理等。通过学习,开发者可以将MQ功能整合到...
- **AMQ8101 错误**:这是一个常见的错误代码,表示“发生 IBMMQ 错误 (80F)”。此错误通常发生在安装过程中,可能是由于缺少必要的系统组件或不兼容的环境导致的。 - **配置完成后需要重启**:在完成IBM MQ的安装和...
IBM提供了一个Java Message Service (JMS) API,允许Java应用程序通过IBM MQ发送和接收消息。JMS API包含两种主要对象:`QueueSender`(生产者)和`QueueReceiver`(消费者)。 3. **生产者实例**: 生产者应用...
7. **MQ Demo**:"mq-demo.zip"很可能是包含了一些示例代码,这些示例可以帮助开发者了解如何使用IBM MQ API进行消息的发送和接收,以及如何配置和管理队列。 对于Java开发者来说,`mq-demo.zip`中的代码演示可能...
IBM MQ(原名WebSphere MQ)是IBM提供的一款企业级的消息中间件,它允许应用程序在不同的网络协议、操作系统和硬件平台之间交换消息。在Java环境下,为了与IBM MQ进行交互,开发者通常需要引入一系列的jar包。这些...
IBM WebSphere MQ,通常简称为IBM MQ,是IBM公司提供的一款高效、可靠的企业级消息中间件产品。它在企业系统间传输数据,确保了数据的可靠传输和事务处理,是构建分布式系统和实现异构环境间通信的重要工具。在本...
IBM MQ提供了丰富的Java API,使得开发者可以通过编程方式轻松地进行消息的发送和接收。以下是一个简单的`put`操作示例: ```java import com.ibm.mq.*; public class MQPutExample { public static void main...
1. **IBM MQ Topic**:在IBM MQ中,Topic是发布/订阅模型的核心,它代表一个主题,发布者将消息发送到主题,订阅者则注册对特定主题的兴趣以接收消息。 2. **订阅者**:订阅者通过创建一个Subscriber对象来订阅主题...
IBM MQ,原名为WebSphere MQ,是IBM提供的一款企业级的消息中间件产品,它允许不同应用程序、系统和网络之间的安全、可靠、高效的数据交换。在IBM MQ 7.0版本中,这一技术得到了进一步的强化和完善,为开发者提供了...
"ibmmq所需jar包.rar" 包含了这些必要的库,使得开发者能够轻松集成IBM MQ的功能到他们的应用中。 1. **com.ibm.mq.jmqi.jar**: 这个JAR文件包含了IBM MQ Java Message Interface (JMQI) 的实现,它是Java应用程序...
3. **跨平台兼容性**:IBM MQ可在各种操作系统(如Windows、Linux、Unix等)上运行,支持多种编程语言(如Java、C++、Python等),适应不同的企业环境需求。 4. **高可用性和可扩展性**:通过集群和镜像队列技术,...