javax.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.

See Also:
  `Session.createObjectMessage()`, `Session.createObjectMessage(Serializable)`, `BytesMessage`, `MapMessage`, `Message`, `StreamMessage`, `TextMessage`

### Field Summary

### Fields inherited from interface javax.jms.Message

`DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE`

### Method Summary

Methods
`Serializable` `getObject()` Gets the serializable object containing this message's data.
`void` `setObject(Serializable object)` Sets the serializable object containing this message's data.

### Methods inherited from interface javax.jms.Message

`acknowledge, clearBody, clearProperties, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty`

### Method Detail

#### 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 JMS 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 JMS provider fails to get the object due to some internal error.
  `MessageFormatException` - if object deserialization fails.