Package jakarta.jms

Interface ObjectMessage

All Superinterfaces:
Message

public interface ObjectMessage extends Message
An ObjectMessage object is used to send a message that contains a serializable object in the Java programming language ("Java object"). It inherits from the Message interface and adds a body containing a single reference to an object. Only Serializable Java objects can be used.

If a collection of Java objects must be sent, one of the Collection classes provided since JDK 1.2 can be used.

When a client receives an ObjectMessage, it is in read-only mode. If a client attempts to write to the message at this point, a MessageNotWriteableException is thrown. If clearBody is called, the message can now be both read from and written to.

Since:
JMS 1.0
See Also:
  • Method Details

    • setObject

      void setObject(Serializable object) throws JMSException
      Sets the serializable object containing this message's data. It is important to note that an ObjectMessage contains a snapshot of the object at the time setObject() is called; subsequent modifications of the object will have no effect on the ObjectMessage body.
      Parameters:
      object - the message's data
      Throws:
      JMSException - if the Jakarta Messaging provider fails to set the object due to some internal error.
      MessageFormatException - if object serialization fails.
      MessageNotWriteableException - if the message is in read-only mode.
    • getObject

      Serializable getObject() throws JMSException
      Gets the serializable object containing this message's data. The default value is null.
      Returns:
      the serializable object containing this message's data
      Throws:
      JMSException - if the Jakarta Messaging provider fails to get the object due to some internal error.
      MessageFormatException - if object deserialization fails.