本文整理汇总了Java中com.ibm.mq.MQMessage类的典型用法代码示例。如果您正苦于以下问题:Java MQMessage类的具体用法?Java MQMessage怎么用?Java MQMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MQMessage类属于com.ibm.mq包,在下文中一共展示了MQMessage类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getGroupMessages
import com.ibm.mq.MQMessage; //导入依赖的package包/类
private void getGroupMessages() throws Exception {
// Set the get message options(设置获取消息选项)
gmo = new MQGetMessageOptions();
gmo.options = MQC.MQGMO_FAIL_IF_QUIESCING;
gmo.options = gmo.options + MQC.MQGMO_SYNCPOINT;
gmo.options = gmo.options + MQC.MQGMO_WAIT;
// Wait for messages(等待消息)
gmo.waitInterval = 5000;
// Set wait time limit in ms(在ms 里设置等待时间限制)
gmo.options = gmo.options + MQC.MQGMO_ALL_MSGS_AVAILABLE; // Getmessages
// only when all(只获取消息) messages of the group are available(当提供所有组消息时)
gmo.options = gmo.options + MQC.MQGMO_LOGICAL_ORDER;
// Get messages in the logical order.(以逻辑顺序获取消息)
gmo.matchOptions = MQC.MQMO_MATCH_GROUP_ID;
// Create the message buffer.(创建消息缓冲区)
inMsg = new MQMessage();
String msgData = null;
// Process the messages of the group(处理组消息)
while (true) {
inQueue.get(inMsg, gmo);
int msgLength = inMsg.getMessageLength();
msgData = inMsg.readString(msgLength);
System.out.println("The message is \n " + msgData);
char x = gmo.groupStatus;
// Check for the last message flag(检查看是否是最后消息标记)
if (x == MQC.MQGS_LAST_MSG_IN_GROUP) {
System.out.println("B Last Msg in Group");
break;
}
inMsg.clearMessage();
}
}
开发者ID:dreajay,项目名称:jcode,代码行数:33,代码来源:GroupReceiver.java
示例2: setRequestMQMD
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* Sets the request mqmd.
*
* @param message the message
* @return the MQ message
* @throws MQException the MQ exception
*/
protected MQMessage setRequestMQMD(MQMessage message) throws MQException {
if (qmanager_level < 500){
message.setVersion(1);
}
message.messageType = 1;
message.expiry = expiryTime;
message.report = 64;
message.feedback = 0;
message.format = "MQADMIN ";
message.encoding = encoding;
message.characterSet = 0;
message.replyToQueueName = replyQueue.name;
message.replyToQueueManagerName = "";
message.persistence = 0;
return message;
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:24,代码来源:Agent.java
示例3: write
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* Write.
*
* @param message the message
* @param parameter the parameter
* @param string the string
* @return the int
* @throws IOException Signals that an I/O exception has occurred.
*/
public static int write(MQMessage message, int parameter, String string) throws IOException {
int stringLength = Parameter.getStringLength(string, message.characterSet);
int padLength = stringLength % 4;
if (padLength != 0) {
padLength = 4 - padLength;
}
int totalLength = 20 + stringLength + padLength;
message.writeString("");
message.writeInt(4);
message.writeInt(totalLength);
message.writeInt(parameter);
message.writeInt(message.characterSet);
message.writeInt(stringLength);
message.writeString(string);
if (padLength != 0) {
message.writeString(pads[padLength]);
}
return totalLength;
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:34,代码来源:ParameterString.java
示例4: initialize
import com.ibm.mq.MQMessage; //导入依赖的package包/类
public void initialize(MQMessage message) throws MQException, IOException {
int type = message.readInt();
if (type != 4) {
throw new MQException(2, 3013, message);
}
this.strucLength = message.readInt();
this.parameter = message.readInt();
this.codedCharSetId = message.readInt();
this.stringLength = message.readInt();
this.string = ParameterHeader.readString(message, this.stringLength);
if (this.stringLength < 0) {
throw new MQException(2, 3011, message);
}
if (this.strucLength < 20 + this.stringLength) {
throw new MQException(2, 3010, message);
}
int padLength = this.strucLength - 20 - this.stringLength;
while (padLength-- > 0)
message.readByte();
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:27,代码来源:ParameterString.java
示例5: initialize
import com.ibm.mq.MQMessage; //导入依赖的package包/类
public void initialize(MQMessage message) throws MQException, IOException {
if (message.readInt() != 5) {
throw new MQException(2, 3013, message);
}
this.strucLength = message.readInt();
this.parameter = message.readInt();
this.count = message.readInt();
if (this.count < 0) {
throw new MQException(2, 3027, message);
}
if (this.strucLength != 16 + this.count * 4) {
throw new MQException(2, 3028, message);
}
this.values = new int[this.count];
for (int i = 0; i < this.count; i++)
this.values[i] = message.readInt();
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:23,代码来源:ParameterIntArray.java
示例6: oneIteration
import com.ibm.mq.MQMessage; //导入依赖的package包/类
public boolean oneIteration() throws Exception {
inMessage = new MQMessage();
inqueue.get( inMessage,gmo );
if ( copyReplyFromRequest ) {
outMessage = inMessage;
} // else see default above
if ( correlIDFromMsgID ) {
System.arraycopy(inMessage.messageId, 0, outMessage.correlationId, 0, CMQC.MQ_CORREL_ID_LENGTH);
pmo.options &= ~CMQC.MQPMO_NEW_MSG_ID;
} else if ( !copyReplyFromRequest ) {
// only need to copy if we created a new message
System.arraycopy(inMessage.correlationId, 0, outMessage.correlationId, 0, CMQC.MQ_CORREL_ID_LENGTH);
pmo.options &= ~CMQC.MQPMO_NEW_CORREL_ID;
}
startResponseTimePeriod();
outqueue.put( outMessage,pmo );
if (transacted)
qm.commit();
incIterations();
return true;
}
开发者ID:ot4i,项目名称:perf-harness,代码行数:30,代码来源:Responder.java
示例7: sendGroupMessages
import com.ibm.mq.MQMessage; //导入依赖的package包/类
private void sendGroupMessages() throws Exception {
/* 设置放置消息选项 */
pmo = new MQPutMessageOptions();
pmo.options = pmo.options + MQC.MQPMO_LOGICAL_ORDER;
pmo.options = pmo.options + MQC.MQPMRF_GROUP_ID;
outMsg = new MQMessage();
/* 设置消息标记,表示该消息属于组 */
outMsg.messageFlags = MQC.MQMF_MSG_IN_GROUP;
/* 把消息格式设置成串 */
outMsg.format = MQC.MQFMT_STRING;
String msgData = null;
/* 把10 个简单消息作为一组发送 */
int i = 10;
while (i > 0) {
msgData = "This is the " + i + "th message in the group ";
outMsg.writeString(msgData);
if (i == 1)
outMsg.messageFlags = MQC.MQMF_LAST_MSG_IN_GROUP;
i--;
/* 每次放置一个消息到队列) */
outQueue.put(outMsg, pmo);
/* 清理缓冲区,以便重用 */
outMsg.clearMessage();
}
}
开发者ID:dreajay,项目名称:jcode,代码行数:29,代码来源:GroupSender.java
示例8: ptpSender
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* 点到点客户机程序将创建一个简单的消息并发送它到WebSphere MQ 队列
*
* 步骤如下: 调入WebSphere MQ Java API package; 为客户机连接设置环境属性; 连接到队列管理器;
* 为打开WebSphere MQ 队列设置选项; 为发送消息打开应用程序队列; 设置选项, 放置消息到应用程序队列上; 创建消息缓冲区;
* 使用用户数据和任何消息描述器字段准备消息; 放置消息到队列上。
*
* @param args
*/
public static void ptpSender() {
try {
/* 设置MQEnvironment 属性以便客户机连接 */
MQEnvironment.hostname = hostName;
MQEnvironment.channel = channel;
MQEnvironment.port = port;
MQEnvironment.CCSID = CCSID;
// MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,
// MQC.TRANSPORT_MQJD);
/* 连接到队列管理器 */
MQQueueManager qMgr = new MQQueueManager(qManager);
/* 设置打开选项以便打开用于输出的队列,如果队列管理器正在停止,我们也已设置了选项去应对不成功情况。 */
int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;
/* 打开队列 */
MQQueue queue = qMgr.accessQueue(qName, openOptions, null, null, null);
/* 设置放置消息选项,我们将使用默认设置 */
MQPutMessageOptions pmo = new MQPutMessageOptions();
/* 创建消息缓冲区,MQMessage 类包含实际消息数据的数据缓冲区,和描述消息的所有MQMD 参数 */
MQMessage outMsg = new MQMessage();
/* 设置MQMD 格式字段 */
outMsg.format = MQC.MQFMT_STRING;
/* 准备用户数据消息 */
String msgString = "Test Message from PtpSender program ";
outMsg.writeString(msgString);
/* 在队列上放置消息 */
queue.put(outMsg, pmo);
/* 提交事务处理 */
qMgr.commit();
System.out.println(" The message has been Successfully put!\n");
/* 关闭队列和队列管理器对象 */
queue.close();
qMgr.disconnect();
} catch (MQException ex) {
System.out.println("An MQ Error Occurred: Completion Code is :\t" + ex.completionCode + "\n\n The Reason Code is :\t" + ex.reasonCode);
ex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
开发者ID:dreajay,项目名称:jcode,代码行数:58,代码来源:Ptp.java
示例9: isLast
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* Checks if is last.
*
* @param response the response
* @return true, if is last
* @throws MQException the MQ exception
* @throws IOException Signals that an I/O exception has occurred.
*/
boolean isLast(MQMessage response) throws MQException, IOException {
cfh.initialize(response);
boolean result = false;
if(TYPE_390 == type){
String current = null;
int count = cfh.parameterCount;
while (count-- > 0) {
Parameter p = Parameter.nextParameter(response);
int id = p.getParameter();
if (id == 7003) {
set.add(p.getStringValue());
} else if (id == 7004) {
set.add(current = p.getStringValue());
}
}
response.seek(0);
if ((cfh.control == 1) && (current != null)) {
set.remove(current);
}
result = set.size() == 0;
}else{
response.seek(0);
result= cfh.control == 1;
}
return result;
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:35,代码来源:AgentResponseTracker.java
示例10: nextParameter
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* Next parameter.
*
* @param message the message
* @return the parameter
* @throws MQException the MQ exception
* @throws IOException Signals that an I/O exception has occurred.
*/
public static Parameter nextParameter(MQMessage message) throws MQException, IOException {
message.writeBytes("");
int pos = message.getDataOffset();
int type = message.readInt();
message.seek(pos);
switch (type) {
case 3:
return new ParameterInt(message);
case 5:
return new ParameterIntArray(message);
case 4:
return new ParameterString(message);
case 6:
case 9:
case 23:
case 25:
case 20:
case 13:
case 14:
case 15:
case 7:
case 8:
case 10:
case 11:
case 12:
case 16:
case 17:
case 18:
case 19:
case 21:
case 22:
case 24:
}
throw new MQException(2, 3013, message);
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:45,代码来源:Parameter.java
示例11: writeString
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* Write string.
*
* @param message the message
* @param string the string
* @return the int
* @throws IOException Signals that an I/O exception has occurred.
*/
protected static int writeString(MQMessage message, String string) throws IOException {
if (string == null) {
return 0;
}
int pos = message.getDataOffset();
message.writeString(string);
return message.getDataOffset() - pos;
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:17,代码来源:Parameter.java
示例12: initialize
import com.ibm.mq.MQMessage; //导入依赖的package包/类
public void initialize(MQMessage message) throws MQException, IOException {
if (message.readInt() != 3) {
throw new MQException(2, 3013, message);
}
if (message.readInt() != 16) {
throw new MQException(2, 3009, message);
}
this.parameter = message.readInt();
this.value = message.readInt();
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:13,代码来源:ParameterInt.java
示例13: write
import com.ibm.mq.MQMessage; //导入依赖的package包/类
public int write(MQMessage message) throws IOException {
message.writeInt(3);
message.writeInt(16);
message.writeInt(this.parameter);
message.writeInt(this.value);
return 16;
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:8,代码来源:ParameterInt.java
示例14: write
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* Write.
*
* @param message the message
* @param command the command
* @param parameterCount the parameter count
* @param type the type
* @param version the version
* @return the int
* @throws IOException Signals that an I/O exception has occurred.
*/
public static int write(MQMessage message, int command, int parameterCount, int type, int version) throws IOException {
message.writeInt(type);
message.writeInt(36);
message.writeInt(version);
message.writeInt(command);
message.writeInt(1);
message.writeInt(1);
message.writeInt(0);
message.writeInt(0);
message.writeInt(parameterCount);
return 36;
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:24,代码来源:ParameterMessage.java
示例15: write
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* Write.
*
* @param message the message
* @param parameter the parameter
* @param values the values
* @return the int
* @throws IOException Signals that an I/O exception has occurred.
*/
public static int write(MQMessage message, int parameter, int[] values) throws IOException {
int count = values == null ? 0 : values.length;
message.writeInt(5);
message.writeInt(16 + count * 4);
message.writeInt(parameter);
message.writeInt(count);
for (int i = 0; i < count; i++) {
message.writeInt(values[i]);
}
return 16 + count * 4;
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:21,代码来源:ParameterIntArray.java
示例16: exec
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* Exec.
*
* @param responses the responses
* @param fetch the fetch
* @throws MQException the MQ exception
* @throws IOException Signals that an I/O exception has occurred.
*/
private void exec(List<MQMessage> responses,Map<Integer,Object> fetch) throws MQException, IOException{
ParameterMessage cfh = null;
for(MQMessage response:responses){
cfh = new ParameterMessage (response);
if (cfh.reason == 0){
if(fetch!=null){
for (int j = 0; j < cfh.parameterCount; j++) {
Parameter p = Parameter.nextParameter(response);
fetch.put(p.getParameter(), p.getValue());
}
}
}
}
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:23,代码来源:JMQQueue.java
示例17: oneIteration
import com.ibm.mq.MQMessage; //导入依赖的package包/类
public boolean oneIteration() throws Exception {
startResponseTimePeriod();
// As of MQ 7.5.0.1, each message needs a new MQMessage object
final MQMessage m = new MQMessage();
gmo.waitInterval = savedGmoWaitInterval;
gmo.options = savedGmoOptions;
gmo.matchOptions = savedGmoMatchOptions;
queue.get(m, gmo);
if (transacted)
qm.commit();
incIterations();
return true;
}
开发者ID:ot4i,项目名称:perf-harness,代码行数:20,代码来源:Receiver.java
示例18: responder
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* 处理来自请求队列的请求消息并发送回复到请求应用程序指定的请求队列上。
*/
public static void responder() {
try {
/* 设置MQEnvironment 属性以便客户机连接 */
MQEnvironment.hostname = hostName;
MQEnvironment.channel = channel;
MQEnvironment.port = port;
MQEnvironment.CCSID = CCSID;
// MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_WEBSPHERE
// MQ);
/* 连接到队列管理器 */
MQQueueManager qMgr = new MQQueueManager(qManager);
/*
* 设置打开选项以便打开用于输出的队列,如果队列管理器停止,我们也 已设置了选项去应对不成功情况
*/
int openOptions = MQC.MQOO_INPUT_SHARED | MQC.MQOO_FAIL_IF_QUIESCING;
/* 打开队列 */
MQQueue queue = qMgr.accessQueue(qName, openOptions, null, null, null);
/* 设置放置消息选项 */
MQGetMessageOptions gmo = new MQGetMessageOptions();
/* 在同步点控制下取消息 */
gmo.options = gmo.options + MQC.MQGMO_SYNCPOINT;
/* 如果队列上没有消息则等待 */
gmo.options = gmo.options + MQC.MQGMO_WAIT;
/* 如果队列管理器停止则失败 */
gmo.options = gmo.options + MQC.MQGMO_FAIL_IF_QUIESCING;
/* 设置等待的时间限制 */
gmo.waitInterval = 3000000;
/* 创建MQMessage 类 */
MQMessage inMsg = new MQMessage();
/* 从队列到队列缓冲区获取消息 */
queue.get(inMsg, gmo);
/* 从消息读用户数据 */
String msgString = inMsg.readString(inMsg.getMessageLength());
System.out.println(" The Message from the Queue is : " + msgString);
/* 检查看消息是否属于类型请求消息并对该请求回复 */
if (inMsg.messageFlags == MQC.MQMT_REQUEST) {
System.out.println("Preparing To Reply To the Request ");
String replyQueueName = inMsg.replyToQueueName;
openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;
MQQueue respQueue = qMgr.accessQueue(replyQueueName, openOptions, inMsg.replyToQueueManagerName, null, null);
MQMessage respMessage = new MQMessage();
MQPutMessageOptions pmo = new MQPutMessageOptions();
respMessage.format = MQC.MQFMT_STRING;
respMessage.messageFlags = MQC.MQMT_REPLY;
// respMessage.correlationId = "123456789".getBytes();
// String response = "Reply from the Responder Program ";
// respMessage.writeString(response);
// respQueue.put(respMessage, pmo);
inMsg.messageId = "12345".getBytes();
respMessage.correlationId = inMsg.messageId;
String response = "Reply from the Responder Program ";
respMessage.writeString(response);
respQueue.put(respMessage, pmo);
System.out.println("The response Successfully send ");
qMgr.commit();
respQueue.close();
}
queue.close();
qMgr.disconnect();
} catch (MQException ex) {
System.out.println("An MQ Error Occurred: Completion Code is :\t" + ex.completionCode + "\n\n The Reason Code is :\t" + ex.reasonCode);
ex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
开发者ID:dreajay,项目名称:jcode,代码行数:76,代码来源:ReqResp.java
示例19: ptpReceiver
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* 点到点客户机程序是消息接收器应用程序,它获取PtpSender 应用程序所发送的消息并在控制台上将消息打印出来。
*
* 步骤如下: 调入WebSphere MQ Java API package; 为客户机连接设置环境属性; 连接到队列管理器;
* 为打开WebSphere MQ 队列设置选项; 为获取消息打开应用程序; 设置选项, 从应用程序队列获取消息; 创建消息缓冲区;
* 从队列获取消息到消息缓冲区; 从消息缓冲区读取用户数据并在控制台上显示。
*
* @param args
*/
public static void ptpReceiver() {
try {
/** 设置MQEnvironment 属性以便客户机连接 */
MQEnvironment.hostname = hostName;
MQEnvironment.channel = channel;
MQEnvironment.port = port;
MQEnvironment.CCSID = CCSID;
// MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_PROPERTY);
/* 连接到队列管理器 */
MQQueueManager qMgr = new MQQueueManager(qManager);
/* 设置打开选项以便打开用于输出的队列,如果队列管理器停止,我们也已设置了选项去应对不成功情况 */
int openOptions = MQC.MQOO_INPUT_SHARED | MQC.MQOO_FAIL_IF_QUIESCING;
/* 打开队列 */
MQQueue queue = qMgr.accessQueue(qName, openOptions, null, null, null);
/* 设置放置消息选项 */
MQGetMessageOptions gmo = new MQGetMessageOptions();
/* 在同步点控制下获取消息 */
gmo.options = gmo.options + MQC.MQGMO_SYNCPOINT;
/* 如果在队列上没有消息则等待 */
gmo.options = gmo.options + MQC.MQGMO_WAIT;
/* 如果队列管理器停顿则失败 */
gmo.options = gmo.options + MQC.MQGMO_FAIL_IF_QUIESCING;
/* 设置等待的时间限制 */
gmo.waitInterval = 3000;
/* 创建MQMessage 类 */
MQMessage inMsg = new MQMessage();
/* 从队列到消息缓冲区获取消息 */
queue.get(inMsg, gmo);
/* 从消息读取用户数据 */
String msgString = inMsg.readString(inMsg.getMessageLength());
System.out.println(" The Message from the Queue is : " + msgString);
/* 提交事务 */
qMgr.commit();
/* 关闭队列和队列管理器对象 */
queue.close();
qMgr.disconnect();
} catch (MQException ex) {
System.out.println("An MQ Error Occurred: Completion Code is :\t" + ex.completionCode + "\n\n The Reason Code is :\t" + ex.reasonCode);
ex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
开发者ID:dreajay,项目名称:jcode,代码行数:64,代码来源:Ptp.java
示例20: getBasicQmgrInfo
import com.ibm.mq.MQMessage; //导入依赖的package包/类
/**
* Gets the basic qmgr info.
*
* @param qmgr the qmgr
* @param tryBacklevel the try backlevel
* @return the basic qmgr info
* @throws MQException the MQ exception
*/
private void getBasicQmgrInfo(MQQueueManager qmgr, boolean tryBacklevel) throws MQException {
int type = 16;
int version = 3;
if (tryBacklevel) {
type = 1;
version = 1;
}
try {
MQMessage message = setRequestMQMD(new MQMessage());
ParameterMessage.write(message, 2, 1, type, version);
ParameterIntArray.write(message, 1001, new int[] { 31, 32, 2015 });
adminQueue.put(message, pmo);
message.messageId = null;
message.encoding = encoding;
message.characterSet = 0;
replyQueue.get(message, gmo);
ParameterMessage cfh = new ParameterMessage(message);
if (cfh.reason == 0) {
int parameterCount = cfh.parameterCount;
while (parameterCount-- > 0) {
Parameter p = Parameter.nextParameter(message);
switch (p.getParameter()) {
case 31:
qmanager_level = ((ParameterInt)p).value;
break;
case 32:
qmanager_platform = ((ParameterInt)p).value;
break;
}
}
} else if (((cfh.reason == 3001) || (cfh.reason == 3003)) && (tryBacklevel)) {
getBasicQmgrInfo(qmanager, false);
} else {
throw new MQException(cfh.compCode, cfh.reason, this);
}
} catch (IOException e) {
throw new MQException(2, 2033, this);
}
}
开发者ID:dubasdey,项目名称:MQQueueMonitor,代码行数:55,代码来源:Agent.java
注:本文中的com.ibm.mq.MQMessage类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论