Package com.ibm.mq
Class MQDestination
java.lang.Object
com.ibm.mq.jmqi.JmqiObject
com.ibm.mq.MQManagedObject
com.ibm.mq.MQDestination
MQDestination is an abstract class designed to contain the common functionality for any IBM
MQ messaging destination. The current concrete implementations are
MQQueue and
MQTopic.- See Also:
-
Field Summary
Fields inherited from class com.ibm.mq.MQManagedObject
alternateUserId, closeOptions, connectionReference, isOpen, name, openOptionsFields inherited from class com.ibm.mq.jmqi.JmqiObject
COMP_JM, COMP_JN, COMP_JO -
Method Summary
Modifier and TypeMethodDescriptionvoidRetrieves a message from the queue or topic.voidget(MQMessage message, MQGetMessageOptions getMessageOptions) Retrieves a message from the queue or topic.voidget(MQMessage message, MQGetMessageOptions getMessageOptions, int maxMsgSize) Retrieves a message from the queue or topic up to the maximum specified message size.Gets the date and time that this destination was created.intGets the type of destination this object represents.intvoidPlaces a message onto a queue or publishes a message to a topic.voidput(MQMessage message, MQPutMessageOptions putMessageOptions) Places a message onto a queue or publishes a message to a topic.voidsetQueueManagerCmdLevel(int queueManagerCmdLevel) Methods inherited from class com.ibm.mq.MQManagedObject
close, getAlternateUserId, getAttributeString, getCloseOptions, getConnectionReference, getDescription, getName, getOpenOptions, getResolvedObjectString, getResolvedQName, getResolvedType, inquire, inquire, isOpen, set, setAttributeString, setCloseOptionsMethods inherited from class com.ibm.mq.jmqi.JmqiObject
getJmqiEnvironment
-
Method Details
-
get
Retrieves a message from the queue or topic. This method takes anMQMessageobject as a parameter. It uses some of the fields in the object as input parameters, in particular themessageIdandcorrelationId, so it is important to ensure that these are set as required. If the get fails, the MQMessage object is unchanged. If it succeeds, the message descriptor (member variables) and message data portions of the MQMessage are completely replaced with the message descriptor and message data from the incoming message. This method uses a default instance ofMQGetMessageOptionsto do the get. The message option used isCMQC.MQGMO_NO_WAIT.- Parameters:
message- An input / output parameter containing the message descriptor information and the returned message data.- Throws:
MQException- If the call fails.
-
get
Retrieves a message from the queue or topic. This method takes anMQMessageobject as a parameter. It uses some of the fields in the object as input parameters, in particular themessageIdandcorrelationId, so it is important to ensure that these are set as required. If the get fails, the MQMessage object is unchanged. If it succeeds, the message descriptor (member variables) and message data portions of the MQMessage are completely replaced with the message descriptor and message data from the incoming message.- Parameters:
message- An input / output parameter containing the message descriptor information and the returned message data.getMessageOptions- Options controlling the action of the get.- Throws:
MQException- If the call fails.
-
get
public void get(MQMessage message, MQGetMessageOptions getMessageOptions, int maxMsgSize) throws MQException Retrieves a message from the queue or topic up to the maximum specified message size. This method takes anMQMessageobject as a parameter. It uses some of the fields in the object as input parameters, in particular themessageIdandcorrelationId, so it is important to ensure that these are set as required. If the get fails, the MQMessage object is unchanged. If it succeeds, the message descriptor (member variables) and message data portions of the MQMessage are completely replaced with the message descriptor and message data from the incoming message.- Parameters:
message- An input / output parameter containing the message descriptor information and the returned message data.getMessageOptions- Options controlling the action of the get.maxMsgSize- The largest message this method can receive. If the message on the queue is larger than this size, once of two things occurs;- If the {link CMQC#MQGMO_ACCEPT_TRUNCATED_MSG} flag is set in the
MQGetMessageOptionsobject, the message is filled with as much of the message data as possible. An exception is thrown with theCMQC.MQCC_WARNINGcompletion code. - If the
CMQC.MQGMO_ACCEPT_TRUNCATED_MSGflag is not set, the message is left on the queue or topic and an exception is thrown with theCMQC.MQCC_WARNINGcompletion code andCMQC.MQRC_TRUNCATED_MSG_FAILEDreason code.
- If the {link CMQC#MQGMO_ACCEPT_TRUNCATED_MSG} flag is set in the
- Throws:
MQException- If the call fails.
-
put
Places a message onto a queue or publishes a message to a topic. This method uses a default instance ofMQPutMessageOptionsto perform the put or publish. The default MQPutMessageOptions instance may differ depending upon the destination type.- Parameters:
message- AnMQMessageobject containing the Message Descriptor data (MQMD) and message to be sent. The Message Descriptor properties of this object can be altered as a result of this method. The values that they have immediately after the completion of this method are the values that were put to the queue or published to the topic.- Throws:
MQException- If the call fails.
-
put
Places a message onto a queue or publishes a message to a topic.Modifications to the
MQMessageobject after the put has completed do not affect the actual message on the destination.If you use the same MQMessage object to make further calls, then performing a put updates
MQMD.messageIdandMQMD.correlationId.Note also that calling
put(MQMessage, MQPutMessageOptions)does not clear the message data. For example:
This results in "ab" being put by the second call.msg.writeString("a"); destination.put(msg, pmo); msg.writeString("b"); destination.put(msg, pmo);- Parameters:
message- An MQMessage object containing the Message Descriptor data (MQMD) and message to be sent. The Message Descriptor properties of this object can be altered as a result of this method. The values that they have immediately after the completion of this method are the values that were put to the queue or published to the topic.putMessageOptions- Options controlling the action of the put.- Throws:
MQException- If the call fails.
-
getDestinationType
public int getDestinationType()Gets the type of destination this object represents. May be eitherCMQC.MQOT_QorCMQC.MQOT_TOPIC.- Returns:
- The destination type.
-
getCreationDateTime
Gets the date and time that this destination was created.- Returns:
- the date and time.
- Throws:
MQException- if you call this method after you have closed the destination, to indicate that the destination is no longer accessible.
-
getQueueManagerCmdLevel
public int getQueueManagerCmdLevel()- Returns:
- cmd level
-
setQueueManagerCmdLevel
public void setQueueManagerCmdLevel(int queueManagerCmdLevel) - Parameters:
queueManagerCmdLevel-
-