本文整理汇总了Java中com.ibm.mq.MQMessage类的典型用法代码示例。如果您正苦于以下问题:Java MQMessage类的具体用法?Java MQMessage怎么用?Java MQMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MQMessage类属于com.ibm.mq包,在下文中一共展示了MQMessage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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();
}
}
示例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;
}
示例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;
}
示例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();
}
示例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();
}
示例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;
}
示例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();
}
}
示例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();
}
}
示例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;
}
示例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);
}
示例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;
}
示例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();
}
示例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;
}
示例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;
}
示例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;
}