Interface ClientMessage
-
- All Superinterfaces:
ICoreMessage
,Message
public interface ClientMessage extends ICoreMessage
A ClientMessage represents a message sent and/or received by ActiveMQ Artemis.
-
-
Field Summary
-
Fields inherited from interface org.apache.activemq.artemis.api.core.Message
BYTES_TYPE, DEFAULT_TYPE, EMBEDDED_TYPE, HDR_ACTUAL_EXPIRY_TIME, HDR_BRIDGE_DUPLICATE_ID, HDR_CONTENT_TYPE, HDR_DUPLICATE_DETECTION_ID, HDR_GROUP_ID, HDR_GROUP_SEQUENCE, HDR_INGRESS_TIMESTAMP, HDR_LARGE_BODY_SIZE, HDR_LARGE_COMPRESSED, HDR_LAST_VALUE_NAME, HDR_ORIG_MESSAGE_ID, HDR_ORIG_ROUTING_TYPE, HDR_ORIGINAL_ADDRESS, HDR_ORIGINAL_QUEUE, HDR_PREFIX, HDR_ROUTE_TO_ACK_IDS, HDR_ROUTE_TO_IDS, HDR_ROUTING_TYPE, HDR_SCALEDOWN_TO_IDS, HDR_SCHEDULED_DELIVERY_TIME, HDR_VALIDATED_USER, INTERNAL_PROPERTY_NAMES_PREDICATE, LARGE_EMBEDDED_TYPE, MAP_TYPE, memoryOffset, OBJECT_TYPE, STREAM_TYPE, TEXT_TYPE
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ClientMessage
acknowledge()
Acknowledges reception of this message.void
checkCompletion()
This can be optionally used to verify if the entire message has been received.ActiveMQBuffer
getBodyBuffer()
The buffer to write the body.InputStream
getBodyInputStream()
Return the bodyInputStream for large messagesint
getBodySize()
Returns the size (in bytes) of this message's bodyint
getDeliveryCount()
Returns the number of times this message was delivered.ClientMessage
individualAcknowledge()
Acknowledges reception of a single message.ClientMessage
putBooleanProperty(String key, boolean value)
Overridden fromMessage
to enable fluent APIClientMessage
putBooleanProperty(SimpleString key, boolean value)
Overridden fromMessage
to enable fluent APIClientMessage
putByteProperty(String key, byte value)
Overridden fromMessage
to enable fluent APIClientMessage
putByteProperty(SimpleString key, byte value)
Overridden fromMessage
to enable fluent APIClientMessage
putBytesProperty(String key, byte[] value)
Overridden fromMessage
to enable fluent APIClientMessage
putBytesProperty(SimpleString key, byte[] value)
Overridden fromMessage
to enable fluent APIClientMessage
putCharProperty(String key, char value)
Overridden fromMessage
to enable fluent APIClientMessage
putCharProperty(SimpleString key, char value)
Overridden fromMessage
to enable fluent APIClientMessage
putDoubleProperty(String key, double value)
Overridden fromMessage
to enable fluent APIClientMessage
putDoubleProperty(SimpleString key, double value)
Overridden fromMessage
to enable fluent APIClientMessage
putFloatProperty(String key, float value)
Overridden fromMessage
to enable fluent APIClientMessage
putFloatProperty(SimpleString key, float value)
Overridden fromMessage
to enable fluent APIClientMessage
putIntProperty(String key, int value)
Overridden fromMessage
to enable fluent APIClientMessage
putIntProperty(SimpleString key, int value)
Overridden fromMessage
to enable fluent APIClientMessage
putLongProperty(String key, long value)
Overridden fromMessage
to enable fluent APIClientMessage
putLongProperty(SimpleString key, long value)
Overridden fromMessage
to enable fluent APIClientMessage
putShortProperty(String key, short value)
Overridden fromMessage
to enable fluent APIClientMessage
putShortProperty(SimpleString key, short value)
Overridden fromMessage
to enable fluent APIClientMessage
putStringProperty(String key, String value)
Overridden fromMessage
to enable fluent APIvoid
saveToOutputStream(OutputStream out)
Saves the content of the message to the OutputStream.ClientMessage
setBodyInputStream(InputStream bodyInputStream)
Sets the body's IntputStream.ClientMessage
setDeliveryCount(int deliveryCount)
Sets the delivery count for this message.ClientMessage
setOutputStream(OutputStream out)
Sets the OutputStream that will receive the content of a message received in a non blocking way.boolean
waitOutputStreamCompletion(long timeMilliseconds)
Wait the outputStream completion of the message.ClientMessage
writeBodyBufferBytes(byte[] bytes)
Overridden fromMessage
to enable fluent APIClientMessage
writeBodyBufferString(String string)
Overridden fromMessage
to enable fluent API-
Methods inherited from interface org.apache.activemq.artemis.api.core.ICoreMessage
getBodyBufferSize, getBuffer, getDataBuffer, getEndOfBodyPosition, getHeadersAndPropertiesEncodeSize, getLargeBodyReader, getReadOnlyBodyBuffer, getType, isConfirmed, isServerMessage, moveHeadersAndProperties, receiveBuffer_1X, sendBuffer_1X, setBuffer, setConfirmed, setType, toMap
-
Methods inherited from interface org.apache.activemq.artemis.api.core.Message
acceptsConsumer, clearInternalProperties, containsProperty, containsProperty, copy, copy, copy, durableDown, durableUp, getAddress, getAddressSimpleString, getAnnotation, getAnnotationString, getBooleanProperty, getBooleanProperty, getBrokerProperty, getByteProperty, getByteProperty, getBytesProperty, getBytesProperty, getConnectionID, getCorrelationID, getDoubleProperty, getDoubleProperty, getDuplicateIDBytes, getDuplicateProperty, getDurableCount, getEncodeSize, getExpiration, getExtraBytesProperty, getFloatProperty, getFloatProperty, getGroupID, getGroupSequence, getIngressTimestamp, getIntProperty, getIntProperty, getLastValueProperty, getLongProperty, getLongProperty, getMemoryEstimate, getMessageID, getObjectProperty, getObjectProperty, getObjectPropertyForFilter, getOwner, getPersistentSize, getPersister, getPersistSize, getPriority, getPropertyNames, getProtocolName, getRefCount, getReplyTo, getRoutingType, getScheduledDeliveryTime, getShortProperty, getShortProperty, getSimpleStringProperty, getSimpleStringProperty, getStringBody, getStringProperty, getStringProperty, getTimestamp, getUsage, getUserContext, getUserID, getValidatedUserID, getWholeMessageSize, hasScheduledDeliveryTime, isDurable, isExpired, isLargeMessage, messageChanged, persist, putExtraBytesProperty, putObjectProperty, putObjectProperty, putStringProperty, putStringProperty, receiveBuffer, reencode, refDown, referenceOriginalMessage, refUp, rejectConsumer, reloadPersistence, removeAnnotation, removeExtraBytesProperty, removeProperty, removeProperty, sendBuffer, setAddress, setAddress, setAnnotation, setBrokerProperty, setConnectionID, setCorrelationID, setDurable, setExpiration, setGroupID, setGroupID, setGroupSequence, setIngressTimestamp, setLastValueProperty, setMessageID, setOwner, setPriority, setReplyTo, setRoutingType, setScheduledDeliveryTime, setTimestamp, setUserContext, setUserID, setValidatedUserID, toCompositeData, toCore, toCore, toMap, toPropertyMap, toPropertyMap, usageDown, usageUp
-
-
-
-
Method Detail
-
getDeliveryCount
int getDeliveryCount()
Returns the number of times this message was delivered.
-
setDeliveryCount
ClientMessage setDeliveryCount(int deliveryCount)
Sets the delivery count for this message.This method is not meant to be called by ActiveMQ Artemis clients.
- Parameters:
deliveryCount
- message delivery count- Returns:
- this ClientMessage
-
acknowledge
ClientMessage acknowledge() throws ActiveMQException
Acknowledges reception of this message.If the session responsible to acknowledge this message has
autoCommitAcks
set totrue
, the transaction will automatically commit the current transaction. Otherwise, this acknowledgement will not be committed until the client commits the session transaction.- Throws:
ActiveMQException
- if an error occurred while acknowledging the message.- See Also:
ClientSession.isAutoCommitAcks()
-
individualAcknowledge
ClientMessage individualAcknowledge() throws ActiveMQException
Acknowledges reception of a single message.If the session responsible to acknowledge this message has
autoCommitAcks
set totrue
, the transaction will automatically commit the current transaction. Otherwise, this acknowledgement will not be committed until the client commits the session transaction.- Throws:
ActiveMQException
- if an error occurred while acknowledging the message.- See Also:
ClientSession.isAutoCommitAcks()
-
checkCompletion
void checkCompletion() throws ActiveMQException
This can be optionally used to verify if the entire message has been received. It won't have any effect on regular messages but it may be helpful on large messages. The use case for this is to make sure there won't be an exception while getting the buffer. Using getBodyBuffer directly would have the same effect but you could get a Runtime non checked Exception instead- Throws:
ActiveMQException
-
getBodySize
int getBodySize()
Returns the size (in bytes) of this message's body
-
setOutputStream
ClientMessage setOutputStream(OutputStream out) throws ActiveMQException
Sets the OutputStream that will receive the content of a message received in a non blocking way.
This method is used when consuming large messages- Returns:
- this ClientMessage
- Throws:
ActiveMQException
-
saveToOutputStream
void saveToOutputStream(OutputStream out) throws ActiveMQException
Saves the content of the message to the OutputStream. It will block until the entire content is transferred to the OutputStream.- Throws:
ActiveMQException
-
waitOutputStreamCompletion
boolean waitOutputStreamCompletion(long timeMilliseconds) throws ActiveMQException
Wait the outputStream completion of the message. This method is used when consuming large messages- Parameters:
timeMilliseconds
- - 0 means wait forever- Returns:
- true if it reached the end
- Throws:
ActiveMQException
-
setBodyInputStream
ClientMessage setBodyInputStream(InputStream bodyInputStream)
Sets the body's IntputStream.
This method is used when sending large messages- Returns:
- this ClientMessage
-
getBodyInputStream
InputStream getBodyInputStream()
Return the bodyInputStream for large messages- Specified by:
getBodyInputStream
in interfaceICoreMessage
- Specified by:
getBodyInputStream
in interfaceMessage
- Returns:
-
getBodyBuffer
ActiveMQBuffer getBodyBuffer()
The buffer to write the body. Warning: If you just want to read the content of a message, use getDataBuffer() or getReadOnlyBuffer();- Specified by:
getBodyBuffer
in interfaceICoreMessage
- Specified by:
getBodyBuffer
in interfaceMessage
- Returns:
-
putBooleanProperty
ClientMessage putBooleanProperty(SimpleString key, boolean value)
Overridden fromMessage
to enable fluent API- Specified by:
putBooleanProperty
in interfaceMessage
-
putBooleanProperty
ClientMessage putBooleanProperty(String key, boolean value)
Overridden fromMessage
to enable fluent API- Specified by:
putBooleanProperty
in interfaceMessage
-
putByteProperty
ClientMessage putByteProperty(SimpleString key, byte value)
Overridden fromMessage
to enable fluent API- Specified by:
putByteProperty
in interfaceMessage
-
putByteProperty
ClientMessage putByteProperty(String key, byte value)
Overridden fromMessage
to enable fluent API- Specified by:
putByteProperty
in interfaceMessage
-
putBytesProperty
ClientMessage putBytesProperty(SimpleString key, byte[] value)
Overridden fromMessage
to enable fluent API- Specified by:
putBytesProperty
in interfaceMessage
-
putBytesProperty
ClientMessage putBytesProperty(String key, byte[] value)
Overridden fromMessage
to enable fluent API- Specified by:
putBytesProperty
in interfaceMessage
-
putShortProperty
ClientMessage putShortProperty(SimpleString key, short value)
Overridden fromMessage
to enable fluent API- Specified by:
putShortProperty
in interfaceMessage
-
putShortProperty
ClientMessage putShortProperty(String key, short value)
Overridden fromMessage
to enable fluent API- Specified by:
putShortProperty
in interfaceMessage
-
putCharProperty
ClientMessage putCharProperty(SimpleString key, char value)
Overridden fromMessage
to enable fluent API- Specified by:
putCharProperty
in interfaceMessage
-
putCharProperty
ClientMessage putCharProperty(String key, char value)
Overridden fromMessage
to enable fluent API- Specified by:
putCharProperty
in interfaceMessage
-
putIntProperty
ClientMessage putIntProperty(SimpleString key, int value)
Overridden fromMessage
to enable fluent API- Specified by:
putIntProperty
in interfaceMessage
-
putIntProperty
ClientMessage putIntProperty(String key, int value)
Overridden fromMessage
to enable fluent API- Specified by:
putIntProperty
in interfaceMessage
-
putLongProperty
ClientMessage putLongProperty(SimpleString key, long value)
Overridden fromMessage
to enable fluent API- Specified by:
putLongProperty
in interfaceMessage
-
putLongProperty
ClientMessage putLongProperty(String key, long value)
Overridden fromMessage
to enable fluent API- Specified by:
putLongProperty
in interfaceMessage
-
putFloatProperty
ClientMessage putFloatProperty(SimpleString key, float value)
Overridden fromMessage
to enable fluent API- Specified by:
putFloatProperty
in interfaceMessage
-
putFloatProperty
ClientMessage putFloatProperty(String key, float value)
Overridden fromMessage
to enable fluent API- Specified by:
putFloatProperty
in interfaceMessage
-
putDoubleProperty
ClientMessage putDoubleProperty(SimpleString key, double value)
Overridden fromMessage
to enable fluent API- Specified by:
putDoubleProperty
in interfaceMessage
-
putDoubleProperty
ClientMessage putDoubleProperty(String key, double value)
Overridden fromMessage
to enable fluent API- Specified by:
putDoubleProperty
in interfaceMessage
-
putStringProperty
ClientMessage putStringProperty(String key, String value)
Overridden fromMessage
to enable fluent API- Specified by:
putStringProperty
in interfaceMessage
- Parameters:
key
- property namevalue
- property value
-
writeBodyBufferBytes
ClientMessage writeBodyBufferBytes(byte[] bytes)
Overridden fromMessage
to enable fluent API
-
writeBodyBufferString
ClientMessage writeBodyBufferString(String string)
Overridden fromMessage
to enable fluent API
-
-