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
AnObjectMessageobject is used to send a message that contains a serializable object in the Java programming language ("Java object"). It inherits from theMessageinterface and adds a body containing a single reference to an object. OnlySerializableJava objects can be used.If a collection of Java objects must be sent, one of the
Collectionclasses 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, aMessageNotWriteableExceptionis thrown. IfclearBodyis 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 byteDATA_STRUCTURE_TYPEprotected Serializableobject-
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 voidbeforeMarshall(WireFormat wireFormat)voidclearBody()Clears out the message body.voidclearUnMarshalledState()voidcompress()Messagecopy()bytegetDataStructureType()StringgetJMSXMimeType()Returns the MIME type of this mesage.SerializablegetObject()Gets the serializable object containing this message's data.List<String>getTrustedPackages()voidinitTransients()booleanisContentMarshalled()booleanisTrustAllPackages()voidonMessageRolledBack()voidsetObject(Serializable newObject)Sets the serializable object containing this message's data.voidsetTrustAllPackages(boolean trustAllPackages)voidsetTrustedPackages(List<String> trustedPackages)voidstoreContent()voidstoreContentAndClear()StringtoString()-
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:
copyin classActiveMQMessage
-
storeContentAndClear
public void storeContentAndClear()
- Overrides:
storeContentAndClearin classActiveMQMessage
-
storeContent
public void storeContent()
- Overrides:
storeContentin classActiveMQMessage
-
isContentMarshalled
public boolean isContentMarshalled()
- Overrides:
isContentMarshalledin classActiveMQMessage
-
getDataStructureType
public byte getDataStructureType()
- Specified by:
getDataStructureTypein interfaceDataStructure- Overrides:
getDataStructureTypein classActiveMQMessage- Returns:
- The type of the data structure
-
getJMSXMimeType
public String getJMSXMimeType()
Description copied from interface:MessageReturns 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 ofBlobMessageit allows you to create a selector on the MIME type of the BLOB body- Specified by:
getJMSXMimeTypein interfaceMessage- Overrides:
getJMSXMimeTypein classActiveMQMessage
-
clearBody
public void clearBody() throws JMSExceptionClears 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:
clearBodyin interfaceMessage- Overrides:
clearBodyin 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 anObjectMessagecontains a snapshot of the object at the timesetObject()is called; subsequent modifications of the object will have no effect on theObjectMessagebody.- Specified by:
setObjectin 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:
getObjectin interfaceObjectMessage- Returns:
- the serializable object containing this message's data
- Throws:
JMSException
-
beforeMarshall
public void beforeMarshall(WireFormat wireFormat) throws IOException
- Specified by:
beforeMarshallin interfaceMarshallAware- Overrides:
beforeMarshallin classMessage- Throws:
IOException
-
clearUnMarshalledState
public void clearUnMarshalledState() throws JMSException- Overrides:
clearUnMarshalledStatein classMessage- Throws:
JMSException
-
onMessageRolledBack
public void onMessageRolledBack()
- Overrides:
onMessageRolledBackin classMessage
-
compress
public void compress() throws IOException- Overrides:
compressin classMessage- Throws:
IOException
-
isTrustAllPackages
public boolean isTrustAllPackages()
-
setTrustAllPackages
public void setTrustAllPackages(boolean trustAllPackages)
-
initTransients
public void initTransients()
- Specified by:
initTransientsin interfaceTransientInitializer
-
-