org.apache.activemq.command
Class ActiveMQObjectMessage

java.lang.Object
  extended by org.apache.activemq.command.BaseCommand
      extended by org.apache.activemq.command.Message
          extended by org.apache.activemq.command.ActiveMQMessage
              extended by org.apache.activemq.command.ActiveMQObjectMessage
All Implemented Interfaces:
Message, ObjectMessage, MessageReference, Command, DataStructure, MarshallAware, ScheduledMessage

public class ActiveMQObjectMessage
extends ActiveMQMessage
implements ObjectMessage

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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.activemq.command.Message
Message.MessageDestination
 
Field Summary
static byte DATA_STRUCTURE_TYPE
           
protected  Serializable object
           
 
Fields inherited from class org.apache.activemq.command.ActiveMQMessage
acknowledgeCallback, DLQ_DELIVERY_FAILURE_CAUSE_PROPERTY
 
Fields inherited from class org.apache.activemq.command.Message
arrival, brokerInTime, brokerOutTime, compressed, content, correlationId, dataStructure, DEFAULT_MINIMUM_MESSAGE_SIZE, destination, droppable, expiration, groupID, groupSequence, marshalledProperties, messageId, ORIGINAL_EXPIRATION, originalDestination, originalTransactionId, persistent, priority, producerId, properties, readOnlyBody, readOnlyProperties, recievedByDFBridge, redeliveryCounter, replyTo, size, targetConsumerId, timestamp, transactionId, type, userID
 
Fields inherited from class org.apache.activemq.command.BaseCommand
commandId, responseRequired
 
Fields inherited from interface javax.jms.Message
DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE
 
Fields inherited from interface org.apache.activemq.ScheduledMessage
AMQ_SCHEDULED_CRON, AMQ_SCHEDULED_DELAY, AMQ_SCHEDULED_ID, AMQ_SCHEDULED_PERIOD, AMQ_SCHEDULED_REPEAT, AMQ_SCHEDULER_ACTION, AMQ_SCHEDULER_ACTION_BROWSE, AMQ_SCHEDULER_ACTION_END_TIME, AMQ_SCHEDULER_ACTION_REMOVE, AMQ_SCHEDULER_ACTION_REMOVEALL, AMQ_SCHEDULER_ACTION_START_TIME, AMQ_SCHEDULER_MANAGEMENT_DESTINATION
 
Constructor Summary
ActiveMQObjectMessage()
           
 
Method Summary
 void beforeMarshall(WireFormat wireFormat)
           
 void clearBody()
          Clears out the message body.
 void clearMarshalledState()
           
 void compress()
           
 Message copy()
           
 byte getDataStructureType()
           
 String getJMSXMimeType()
          Returns the MIME type of this mesage.
 Serializable getObject()
          Gets the serializable object containing this message's data.
 void onMessageRolledBack()
           
 void setObject(Serializable newObject)
          Sets the serializable object containing this message's data.
 void storeContent()
           
 String toString()
           
 
Methods inherited from class org.apache.activemq.command.ActiveMQMessage
acknowledge, checkReadOnlyBody, checkValidObject, checkValidScheduled, clearProperties, convertScheduled, copy, decodeString, encodeString, equals, getAcknowledgeCallback, getAllPropertyNames, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, hashCode, onSend, propertyExists, setAcknowledgeCallback, setBooleanProperty, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setObjectProperty, setProperties, setShortProperty, setStringProperty, visit
 
Methods inherited from class org.apache.activemq.command.Message
afterMarshall, afterUnmarshall, beforeUnmarshall, copy, decrementReferenceCount, doCompress, getArrival, getBrokerInTime, getBrokerOutTime, getBrokerPath, getCluster, getConnection, getContent, getCorrelationId, getDataStructure, getDestination, getExpiration, getGroupID, getGroupSequence, getMarshalledProperties, getMemoryUsage, getMessage, getMessageHardRef, getMessageId, getMinimumMessageSize, getOriginalDestination, getOriginalTransactionId, getPriority, getProducerId, getProperties, getProperty, getRedeliveryCounter, getReferenceCount, getRegionDestination, getReplyTo, getSize, getTargetConsumerId, getTimestamp, getTransactionId, getType, getUserID, incrementRedeliveryCounter, incrementReferenceCount, isAdvisory, isCompressed, isDroppable, isDropped, isExpired, isInTransaction, isMarshallAware, isMessage, isPersistent, isReadOnlyBody, isReadOnlyProperties, isRecievedByDFBridge, isRedelivered, lazyCreateProperties, removeProperty, setArrival, setBrokerInTime, setBrokerOutTime, setBrokerPath, setCluster, setCompressed, setConnection, setContent, setCorrelationId, setDataStructure, setDestination, setDroppable, setExpiration, setGroupID, setGroupSequence, setMarshalledProperties, setMemoryUsage, setMessageId, setOriginalDestination, setOriginalTransactionId, setPersistent, setPriority, setProducerId, setProperty, setReadOnlyBody, setReadOnlyProperties, setRecievedByDFBridge, setRedelivered, setRedeliveryCounter, setRegionDestination, setReplyTo, setTargetConsumerId, setTimestamp, setTransactionId, setType, setUserID, toString
 
Methods inherited from class org.apache.activemq.command.BaseCommand
copy, getCommandId, getFrom, getTo, isBrokerInfo, isConnectionControl, isMessageAck, isMessageDispatch, isMessageDispatchNotification, isResponse, isResponseRequired, isShutdownInfo, isWireFormatInfo, setCommandId, setFrom, setResponseRequired, setTo
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.jms.Message
acknowledge, 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
 

Field Detail

DATA_STRUCTURE_TYPE

public static final byte DATA_STRUCTURE_TYPE
See Also:
Constant Field Values

object

protected transient Serializable object
Constructor Detail

ActiveMQObjectMessage

public ActiveMQObjectMessage()
Method Detail

copy

public Message copy()
Overrides:
copy in class ActiveMQMessage

storeContent

public void storeContent()
Overrides:
storeContent in class ActiveMQMessage

getDataStructureType

public byte getDataStructureType()
Specified by:
getDataStructureType in interface DataStructure
Overrides:
getDataStructureType in class ActiveMQMessage
Returns:
The type of the data structure

getJMSXMimeType

public String getJMSXMimeType()
Description copied from interface: Message
Returns the MIME type of this mesage. This can be used in selectors to filter on the MIME types of the different JMS messages, or in the case of BlobMessage it allows you to create a selector on the MIME type of the BLOB body

Overrides:
getJMSXMimeType in class ActiveMQMessage

clearBody

public void clearBody()
               throws JMSException
Clears out the message body. Clearing a message's body does not clear its header values or property entries.

If this message body was read-only, calling this method leaves the message body in the same state as an empty body in a newly created message.

Specified by:
clearBody in interface Message
Overrides:
clearBody in class ActiveMQMessage
Throws:
JMSException - if the JMS provider fails to clear the message body due to some internal error.

setObject

public void setObject(Serializable newObject)
               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.

Specified by:
setObject in interface ObjectMessage
Parameters:
newObject - 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.

Specified by:
getObject in interface ObjectMessage
Returns:
the serializable object containing this message's data
Throws:
JMSException

beforeMarshall

public void beforeMarshall(WireFormat wireFormat)
                    throws IOException
Specified by:
beforeMarshall in interface MarshallAware
Overrides:
beforeMarshall in class Message
Throws:
IOException

clearMarshalledState

public void clearMarshalledState()
                          throws JMSException
Overrides:
clearMarshalledState in class Message
Throws:
JMSException

onMessageRolledBack

public void onMessageRolledBack()
Overrides:
onMessageRolledBack in class Message

compress

public void compress()
              throws IOException
Overrides:
compress in class Message
Throws:
IOException

toString

public String toString()
Overrides:
toString in class Message


Copyright © 2005-2013 The Apache Software Foundation. All Rights Reserved.