com.ibm.mq

Class MQDestination

  • Direct Known Subclasses:
    MQQueue, MQTopic


    public abstract class MQDestination
    extends MQManagedObject
    MQDestination is an abstract class designed to contain the common functionality for any WebSphere MQ messaging destination. The current concrete implementations are MQQueue and MQTopic.
    See Also:
    MQQueue, MQTopic
    • Method Detail

      • get

        public void get(MQMessage message)
                 throws MQException
        Retrieves a message from the queue or topic. This method takes an MQMessage object as a parameter. It uses some of the fields in the object as input parameters, in particular the messageId and correlationId, 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 of MQGetMessageOptions to do the get. The message option used is CMQC.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

        public void get(MQMessage message,
               MQGetMessageOptions getMessageOptions)
                 throws MQException
        Retrieves a message from the queue or topic. This method takes an MQMessage object as a parameter. It uses some of the fields in the object as input parameters, in particular the messageId and correlationId, 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 an MQMessage object as a parameter. It uses some of the fields in the object as input parameters, in particular the messageId and correlationId, 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;
        Throws:
        MQException - If the call fails.
      • put

        public void put(MQMessage message)
                 throws MQException
        Places a message onto a queue or publishes a message to a topic. This method uses a default instance of MQPutMessageOptions to perform the put or publish. The default MQPutMessageOptions instance may differ depending upon the destination type.
        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.
        Throws:
        MQException - If the call fails.
      • put

        public void put(MQMessage message,
               MQPutMessageOptions putMessageOptions)
                 throws MQException
        Places a message onto a queue or publishes a message to a topic.

        Modifications to the MQMessage object 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.messageId and MQMD.correlationId.

        Note also that calling put(MQMessage, MQPutMessageOptions) does not clear the message data. For example:

         
          msg.writeString("a"); destination.put(msg, pmo);
         msg.writeString("b"); destination.put(msg, pmo); 
         
         
        This results in "ab" being put by the second call.
        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 either CMQC.MQOT_Q or CMQC.MQOT_TOPIC.
        Returns:
        The destination type.
      • getCreationDateTime

        public java.util.GregorianCalendar getCreationDateTime()
                                                        throws MQException
        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 -
(c) Copyright IBM Corp. 2008, 2015. All Rights Reserved.