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.

Version:
1.0 - 6 August 1998
Author:
Mark Hapner, Rich Burridge
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
 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

public 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

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


Submit a bug or feature

Copyright 2003 Sun Microsystems, Inc. All rights reserved.