Package org.apache.activemq.command
Class ActiveMQObjectMessage
- java.lang.Object
-
- org.apache.activemq.command.BaseCommand
-
- org.apache.activemq.command.Message
-
- org.apache.activemq.command.ActiveMQMessage
-
- org.apache.activemq.command.ActiveMQObjectMessage
-
- All Implemented Interfaces:
Message
,ObjectMessage
,MessageReference
,Command
,DataStructure
,MarshallAware
,TransientInitializer
,Message
,ScheduledMessage
public class ActiveMQObjectMessage extends ActiveMQMessage implements ObjectMessage, TransientInitializer
AnObjectMessage
object is used to send a message that contains a serializable object in the Java programming language ("Java object"). It inherits from theMessage
interface and adds a body containing a single reference to an object. OnlySerializable
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, aMessageNotWriteableException
is thrown. IfclearBody
is called, the message can now be both read from and written to.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.activemq.command.Message
Message.MessageDestination
-
-
Field Summary
Fields Modifier and Type Field Description static byte
DATA_STRUCTURE_TYPE
protected Serializable
object
-
Fields inherited from class org.apache.activemq.command.ActiveMQMessage
acknowledgeCallback, BROKER_PATH_PROPERTY, 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, jmsXGroupFirstForConsumer, 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
Constructors Constructor Description ActiveMQObjectMessage()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beforeMarshall(WireFormat wireFormat)
void
clearBody()
Clears out the message body.void
clearUnMarshalledState()
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.List<String>
getTrustedPackages()
void
initTransients()
boolean
isContentMarshalled()
boolean
isTrustAllPackages()
void
onMessageRolledBack()
void
setObject(Serializable newObject)
Sets the serializable object containing this message's data.void
setTrustAllPackages(boolean trustAllPackages)
void
setTrustedPackages(List<String> trustedPackages)
void
storeContent()
void
storeContentAndClear()
String
toString()
-
Methods inherited from class org.apache.activemq.command.ActiveMQMessage
acknowledge, checkReadOnlyBody, checkReadOnlyProperties, checkValidObject, 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, canProcessAsExpired, 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, isJMSXGroupFirstForConsumer, isMarshallAware, isMarshalled, isMessage, isPersistent, isPropertiesMarshalled, isReadOnlyBody, isReadOnlyProperties, isRecievedByDFBridge, isRedelivered, lazyCreateProperties, removeProperty, setArrival, setBrokerInTime, setBrokerOutTime, setBrokerPath, setCluster, setCompressed, setConnection, setContent, setCorrelationId, setDataStructure, setDestination, setDroppable, setExpiration, setGroupID, setGroupSequence, setJMSXGroupFirstForConsumer, 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, isConsumerControl, 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
-
-
Method Detail
-
copy
public Message copy()
- Overrides:
copy
in classActiveMQMessage
-
storeContentAndClear
public void storeContentAndClear()
- Overrides:
storeContentAndClear
in classActiveMQMessage
-
storeContent
public void storeContent()
- Overrides:
storeContent
in classActiveMQMessage
-
isContentMarshalled
public boolean isContentMarshalled()
- Overrides:
isContentMarshalled
in classActiveMQMessage
-
getDataStructureType
public byte getDataStructureType()
- Specified by:
getDataStructureType
in interfaceDataStructure
- Overrides:
getDataStructureType
in classActiveMQMessage
- 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 ofBlobMessage
it allows you to create a selector on the MIME type of the BLOB body- Specified by:
getJMSXMimeType
in interfaceMessage
- Overrides:
getJMSXMimeType
in classActiveMQMessage
-
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 interfaceMessage
- Overrides:
clearBody
in classActiveMQMessage
- 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 anObjectMessage
contains a snapshot of the object at the timesetObject()
is called; subsequent modifications of the object will have no effect on theObjectMessage
body.- Specified by:
setObject
in interfaceObjectMessage
- 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 interfaceObjectMessage
- Returns:
- the serializable object containing this message's data
- Throws:
JMSException
-
beforeMarshall
public void beforeMarshall(WireFormat wireFormat) throws IOException
- Specified by:
beforeMarshall
in interfaceMarshallAware
- Overrides:
beforeMarshall
in classMessage
- Throws:
IOException
-
clearUnMarshalledState
public void clearUnMarshalledState() throws JMSException
- Overrides:
clearUnMarshalledState
in classMessage
- Throws:
JMSException
-
onMessageRolledBack
public void onMessageRolledBack()
- Overrides:
onMessageRolledBack
in classMessage
-
compress
public void compress() throws IOException
- Overrides:
compress
in classMessage
- Throws:
IOException
-
isTrustAllPackages
public boolean isTrustAllPackages()
-
setTrustAllPackages
public void setTrustAllPackages(boolean trustAllPackages)
-
initTransients
public void initTransients()
- Specified by:
initTransients
in interfaceTransientInitializer
-
-