Interface AQMessage


  • public interface AQMessage
    A message is the unit that is enqueued or dequeued. An AQMessage object holds both its content, or payload, and its properties. This class provides methods to get and set message properties and the payload.
    See Also:
    AQFactory.createAQMessage
  • <section role="region">
    • Method Detail

      • getMessageId

        byte[] getMessageId()
                     throws SQLException
        Gets the id (16 bytes) of this message.

        There are enqueue and dequeue options to retrieve the id of a message after enqueue or dequeue.

        Throws:
        SQLException
      • setPayload

        void setPayload​(byte[] payload)
                 throws SQLException
        Sets a RAW payload.

        Sets the payload payload type to "RAW" and stores the given payload but doesn't make a copy.

        Calling this method is the equivalent of:

              // payloadInBytes being the byte[] array
              RAW rawPayload = new RAW(payloadInBytes);
              message.setPayload(rawPayload);
            
        Throws:
        SQLException
      • setPayload

        void setPayload​(byte[] payload,
                        byte[] tdo)
                 throws SQLException
        Sets the payload in its linearized form.

        This method lets you set the payload in its linearized form. You need to provide the correpondant OID of the Type Descriptor Object. This is useful in the case where you have your own pickler.

        For example, given that the linearized form of a RAW instance is the bytes themselves, the following code:

          message.setPayload(payloadInBytes);
        is the same as
          message.setPayload(payloadInBytes,TypeDescriptor.RAWTOID);
        Throws:
        SQLException
      • setPayload

        void setPayload​(oracle.xdb.XMLType xmlt)
                 throws SQLException
        Sets an XMLType payload.
        Throws:
        SQLException
      • getPayloadTOID

        byte[] getPayloadTOID()
        Retrieves the TOID of the payload.
      • isSTRUCTPayload

        boolean isSTRUCTPayload()
                         throws SQLException
        Returns true if the payload is a STRUCT (in other words if the payload is an object) and false otherwise.

        If the payload is q STRUCT, you should use getSTRUCTPayload() to get its value.

        Throws:
        SQLException
      • isANYDATAPayload

        boolean isANYDATAPayload()
                          throws SQLException
        Returns true if the payload type is ANYDATA and false otherwise.

        If the payload type is ANYDATA, you should use getANYDATAPayload() to get its content.

        Throws:
        SQLException
      • isRAWPayload

        boolean isRAWPayload()
                      throws SQLException
        Returns trus if the payload type is RAW and false otherwise.

        If the payload type is RAW, you should use getRAWPayload() to get its content.

        Throws:
        SQLException
      • getXMLTypePayload

        oracle.xdb.XMLType getXMLTypePayload()
                                      throws SQLException
        Retrieves the payload as an XMLType.
        Throws:
        SQLException
      • isXMLTypePayload

        boolean isXMLTypePayload()
                          throws SQLException
        Returns trus if the payload type is XMLType and false otherwise.

        If the payload type is XMLType, you should use getXMLTypePayload() to get its content.

        Throws:
        SQLException
      • isJSONPayload

        boolean isJSONPayload()
                       throws SQLException
        Returns true if the payload type is JSON, false otherwise.

        If the payload type is JSON, you should use getJSONPayload() to get its content.

        Returns:
        true if the payload type is JSON, false otherwise.
        Throws:
        SQLException
      • toString

        String toString()
        Returns the String description of this message.
        Overrides:
        toString in class Object
    </section>