在访问一个队列首先需要获取队列管理器对象,
需要提供如下属性信息, 如: 队列管理器名称,端口号,服务通道,主机名称,通过这些属性就能获取队列管理器,
然后通过队列管理器 访问队列,
放入消息 即可。 最后,关闭队列。
下面是一个把消息 放入 WebSphere MQ 本地队列中 程序代码:
建立一个QueueManagerEntity实体:
如下:
private String queueManagerName;
private int port;
private String svrconn;
private String hostName;
private String queueName;
// getter和setter方法省略...
然后创建一个QueueManager Class,定义一个获取MQQueueManager的方法,该方法主要是设置初始化环境信息。
public MQQueueManager getMQueueManager(QueueManagerEntity queueManagerEntity){
MQEnvironment.channel = queueManagerEntity.getSvrconn();
MQEnvironment.CCSID = 1383;
MQEnvironment.hostname = queueManagerEntity.getHostName();
MQEnvironment.port = queueManagerEntity.getPort();
MQQueueManager queueManager = null;
try {
queueManager = new MQQueueManager(queueManagerEntity.getQueueManagerName());
} catch (MQException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return queueManager;
}
//往本地队列中放入测试消息。
public boolean sendMessage(MQQueueManager queueManager,QueueManagerEntity queueManagerEntity) throws IOException{
boolean bol = false;
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT | MQC.MQOO_INQUIRE;
if(queueManager==null || !queueManager.isConnected()){
queueManager = getMQueueManager(queueManagerEntity);
}
MQQueue mqQueue = null;
try {
mqQueue = queueManager.accessQueue(queueManagerEntity.getQueueName(), openOptions,null,null,null);
MQMessage mqMessage = new MQMessage();
mqMessage.writeUTF("Hello World!!!");
MQPutMessageOptions mqPutMessageOptions = new MQPutMessageOptions();
//往队列中放入消息;
mqQueue.put(mqMessage, mqPutMessageOptions);
mqQueue.close();
bol = true;
} catch (MQException e) {
// TODO Auto-generated catch block
e.printStackTrace();
bol = false;
}
return bol;
}
分享到:
相关推荐
4. **发送消息**:创建`Message`对象,设置消息内容,然后通过`Queue`对象的`Put`方法将消息放入指定的队列。队列可以预先在MQ管理控制台中定义,或者在代码中动态创建。 5. **接收消息**:使用`Get`方法从队列中...
其中,队列的DEFPSIST属性是在创建队列时设置,而消息的Persistence和Expiry属性是在应用程序往队列放入消息时指定的。消息自身的Persistence值会覆盖队列的DEFPSIST值。消息的Expiry指定了消息的到期时间,当消息...
4. **编写接收程序**:同样利用JMS或WebSphere MQ API,创建`QueueReceiver`对象,然后调用`receive`方法从队列中获取并处理消息。 5. **配置应用上下文**:`applicationContext.xml`是Spring框架中的配置文件,它...
1. **消息传输**:WebSphere MQ允许应用程序之间通过消息进行通信,无需知道对方的状态或位置,只需将消息放入消息队列即可。 2. **消息持久化**:即使在发送方和接收方不同时在线,消息也会被存储在队列中,等待...
这些API包括基本的8种调用,如MQCONN(连接到队列管理器)、MQPUT(将消息放入队列)和MQGET(从队列获取消息),以及5种次要调用,如MQBEGIN(开始工作单元)和MQSET(设置对象属性)。通过MQI,应用程序可以与队列...
在实际开发中,开发者会使用 WebSphere MQ 提供的 API 来创建、打开和管理消息队列,发送和接收消息。这些 API 包括队列管理器、队列、通道、消息等对象的创建和操作方法。此外,还可以利用事务支持来确保消息传递的...
在MQ环境中,掌握一些常用的命令对于管理和监控MQ队列管理器(QMgr)及其组件至关重要。以下是一些重要的MQ命令及其用途: 1. **创建队列管理器**: `crtmqm -q QMgrName`:这个命令用于创建一个名为QMgrName的...
5. 发送消息:调用`MQPut`函数,将`MQMessage`对象和队列句柄作为参数,将消息放入队列。 6. 关闭队列和断开连接:使用`MQClose`关闭队列,然后调用`MQDisconnect`断开与MQ服务器的连接。 在实际应用中,为了确保...
3. 使用amqsput工具将消息放入远程队列Q1,然后通过amqsget从QM_APPLE管理器中的Q1队列取出消息。 #### 2.3 在客户机-服务器配置上发送消息 1. 在QM_ORANGE队列管理器中创建服务器端连接通道和侦听器,确保端口...
发送者将消息放入队列,接收者从队列中取出消息。队列管理器负责消息的存储、路由和安全,确保消息的正确传递。 2. **安装与配置**:在AIX系统上安装WebSphere MQ需要遵循特定的步骤,包括获取安装介质、设置安装...
6. 发送和接收消息:通过API连接到队列管理器,使用`PUT`操作将消息放入队列,使用`GET`操作从队列中取出消息。在实际应用中,可能会涉及到事务处理和消息确认机制。 7. 监控和管理:使用WebSphere MQ Explorer或者...
WebSphere MQ基于消息队列模型,消息在发送方被放入队列,然后由接收方从队列中取出。这种异步通信方式提供了高可用性和可扩展性。 1.4 **WebSphere MQ的重要特点** - **消息持久化**:即使发送方或接收方系统崩溃...
- **消息发送**:发送者将消息放入本地队列。 - **消息传输**:MQ使用消息通道将消息从发送方队列管理器传输到接收方队列管理器。 - **消息接收**:接收方队列管理器接收到消息后将其放置在相应的队列中供接收者...
`amqsput`命令用于将消息放入指定队列,而`amqsget`命令则用于从队列中取出消息。 ### 12. 建立服务器端通道 `define channel(channel2) chltype(svrconn) trptype(tcp) mcauser('')` 服务器端通道用于处理客户端...
然后,可以使用 PUT 命令来往队列中放入消息,例如:PUT ‘MYRECEIVER.QUEUE’ ‘Hello, World!’。最后,可以使用 GET 命令来读取消息,例如:GET ‘MYRECEIVER.QUEUE’。 WebSphere MQ 提供了一个强大且灵活的...
生产者(发送方)将消息放入队列,消费者(接收方)则从队列中取出并处理这些消息。这种模型简化了系统间的交互,因为消息的发送和接收是解耦的,即使生产者和消费者不在同一时间在线,消息也不会丢失。 WebSphere ...
- 生产者:产生消息并将其放入发送队列。 - 队列管理器:接收消息,根据配置的通道决定如何传递。 - 通道:将消息从一个队列管理器传输到另一个,可以是本地也可以是远程。 - 消费者:从接收队列中取出消息并...
1. **消息队列(Message Queuing)原理**:消息队列是一种基于发布/订阅模式的通信方式,其中生产者(发送方)将消息放入队列,而消费者(接收方)从队列中取出消息。这种机制可以确保即使在发送者和接收者之间的...