## Uses of Interface
org.apache.activemq.artemis.api.core.Message

- Packages that use Message
  Package | Description
  --- | ---
  org.apache.activemq.artemis.api.core |
  org.apache.activemq.artemis.api.core.client |
  org.apache.activemq.artemis.api.core.management |
  org.apache.activemq.artemis.jms.transaction |
  org.apache.activemq.artemis.reader |
  org.apache.activemq.artemis.spi.core.protocol |
  org.apache.activemq.artemis.spi.core.remoting |

- - ### Uses of Message in org.apache.activemq.artemis.api.core

    Subinterfaces of Message in org.apache.activemq.artemis.api.core
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ICoreMessage` This interface is only to determine the API of methods required for Core Messages

    Classes in org.apache.activemq.artemis.api.core that implement Message
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RefCountMessage`

    Methods in org.apache.activemq.artemis.api.core that return Message
    Modifier and Type | Method and Description
    --- | ---
    `Message` | Message.`copy()` It will generate a new instance of the message encode, being a deep copy, new properties, new everything
    `Message` | Message.`copy(long newID)` It will generate a new instance of the message encode, being a deep copy, new properties, new everything
    `Message` | Message.`putBooleanProperty(SimpleString key, boolean value)`
    `Message` | Message.`putBooleanProperty(String key, boolean value)`
    `Message` | Message.`putByteProperty(SimpleString key, byte value)`
    `Message` | Message.`putByteProperty(String key, byte value)`
    `Message` | Message.`putBytesProperty(SimpleString key, byte[] value)`
    `Message` | Message.`putBytesProperty(String key, byte[] value)`
    `Message` | Message.`putCharProperty(SimpleString key, char value)`
    `Message` | Message.`putCharProperty(String key, char value)`
    `Message` | Message.`putDoubleProperty(SimpleString key, double value)`
    `Message` | Message.`putDoubleProperty(String key, double value)`
    `default Message` | Message.`putExtraBytesProperty(SimpleString key, byte[] value)`
    `Message` | Message.`putFloatProperty(SimpleString key, float value)`
    `Message` | Message.`putFloatProperty(String key, float value)`
    `Message` | Message.`putIntProperty(SimpleString key, int value)`
    `Message` | Message.`putIntProperty(String key, int value)`
    `Message` | Message.`putLongProperty(SimpleString key, long value)`
    `Message` | Message.`putLongProperty(String key, long value)`
    `Message` | Message.`putObjectProperty(SimpleString key, Object value)`
    `Message` | Message.`putObjectProperty(String key, Object value)`
    `Message` | Message.`putShortProperty(SimpleString key, short value)`
    `Message` | Message.`putShortProperty(String key, short value)`
    `Message` | Message.`putStringProperty(SimpleString key, SimpleString value)`
    `Message` | Message.`putStringProperty(String key, String value)` Puts a String property in this message.
    `Message` | Message.`setAddress(SimpleString address)`
    `Message` | Message.`setAddress(String address)`
    `default Message` | Message.`setAnnotation(SimpleString key, Object value)` Callers must call `reencode()` in order to be sent to clients
    `Message` | Message.`setBuffer(ByteBuf buffer)` The buffer will belong to this message, until release is called.
    `default Message` | Message.`setConnectionID(String connectionID)`
    `Message` | RefCountMessage.`setContext(RefCountMessageListener context)`
    `Message` | Message.`setContext(RefCountMessageListener context)`
    `Message` | Message.`setDurable(boolean durable)` Sets whether this message is durable or not.
    `Message` | Message.`setExpiration(long expiration)` Sets the expiration of this message.
    `Message` | Message.`setMessageID(long id)`
    `Message` | Message.`setPriority(byte priority)` Sets the message priority.
    `Message` | Message.`setReplyTo(SimpleString address)`
    `default Message` | Message.`setRoutingType(RoutingType routingType)`
    `default Message` | Message.`setScheduledDeliveryTime(Long time)`
    `Message` | Message.`setTimestamp(long timestamp)`
    `default Message` | Message.`setType(byte type)` Deprecated. do not use this, use through ICoreMessage or ClientMessage
    `Message` | Message.`setUserID(Object userID)`
    `default Message` | Message.`setValidatedUserID(String validatedUserID)`

    Methods in org.apache.activemq.artemis.api.core that return types with arguments of type Message
    Modifier and Type | Method and Description
    --- | ---
    `org.apache.activemq.artemis.core.persistence.Persister<Message>` | Message.`getPersister()`

    Methods in org.apache.activemq.artemis.api.core with parameters of type Message
    Modifier and Type | Method and Description
    --- | ---
    `void` | ICoreMessage.`copyHeadersAndProperties(Message msg)` Used on large messages treatment
    `void` | RefCountMessageListener.`durableDown(Message message, int durableCount)`
    `void` | RefCountMessageListener.`durableUp(Message message, int durableCount)`
    `void` | RefCountMessageListener.`nonDurableDown(Message message, int nonDurableCoun)`
    `void` | RefCountMessageListener.`nonDurableUp(Message message, int nonDurableCoun)`
    `default void` | Message.`referenceOriginalMessage(Message original, String originalQueue)`

  - ### Uses of Message in org.apache.activemq.artemis.api.core.client

    Subinterfaces of Message in org.apache.activemq.artemis.api.core.client
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ClientMessage` A ClientMessage represents a message sent and/or received by ActiveMQ Artemis.

    Methods in org.apache.activemq.artemis.api.core.client with parameters of type Message
    Modifier and Type | Method and Description
    --- | ---
    `void` | ClientProducer.`send(Message message)` Sends a message to an address.
    `void` | ClientProducer.`send(Message message, SendAcknowledgementHandler handler)` Sends a message to the specified address instead of the ClientProducer's address.
    `void` | ClientProducer.`send(SimpleString address, Message message)` Sends a message to the specified address instead of the ClientProducer's address.
    `void` | ClientProducer.`send(SimpleString address, Message message, SendAcknowledgementHandler handler)` Sends a message to the specified address instead of the ClientProducer's address.
    `void` | ClientProducer.`send(String address, Message message)` Sends a message to the specified address instead of the ClientProducer's address.
    `void` | SendAcknowledgementHandler.`sendAcknowledged(Message message)` Notifies the client that a message sent asynchronously has been received by the server.

  - ### Uses of Message in org.apache.activemq.artemis.api.core.management

    Methods in org.apache.activemq.artemis.api.core.management with parameters of type Message
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | ManagementHelper.`hasOperationSucceeded(Message message)` Returns whether the invocation of the management operation on the server resource succeeded.
    `static boolean` | ManagementHelper.`isAttributesResult(Message message)` Returns whether the JMS message corresponds to the result of a management attribute value.
    `static boolean` | ManagementHelper.`isOperationResult(Message message)` Returns whether the JMS message corresponds to the result of a management operation invocation.
    `static Object[]` | ManagementHelper.`retrieveOperationParameters(Message message)` Used by ActiveMQ Artemis management service.

  - ### Uses of Message in org.apache.activemq.artemis.jms.transaction

    Methods in org.apache.activemq.artemis.jms.transaction with parameters of type Message
    Modifier and Type | Method and Description
    --- | ---
    `Map<String,Object>` | JMSTransactionDetail.`decodeMessageProperties(Message msg)`
    `String` | JMSTransactionDetail.`decodeMessageType(Message msg)`

  - ### Uses of Message in org.apache.activemq.artemis.reader

    Methods in org.apache.activemq.artemis.reader with parameters of type Message
    Modifier and Type | Method and Description
    --- | ---
    `static void` | MessageUtil.`clearProperties(Message message)`
    `static String` | MessageUtil.`getJMSCorrelationID(Message message)`
    `static byte[]` | MessageUtil.`getJMSCorrelationIDAsBytes(Message message)`
    `static SimpleString` | MessageUtil.`getJMSReplyTo(Message message)`
    `static String` | MessageUtil.`getJMSType(Message message)`
    `static Set<String>` | MessageUtil.`getPropertyNames(Message message)`
    `static boolean` | MessageUtil.`propertyExists(Message message, String name)`
    `static void` | MessageUtil.`setJMSCorrelationID(Message message, String correlationID)`
    `static void` | MessageUtil.`setJMSCorrelationIDAsBytes(Message message, byte[] correlationID)`
    `static void` | MessageUtil.`setJMSReplyTo(Message message, SimpleString dest)`
    `static void` | MessageUtil.`setJMSType(Message message, String type)`

  - ### Uses of Message in org.apache.activemq.artemis.spi.core.protocol

    Classes in org.apache.activemq.artemis.spi.core.protocol with type parameters of type Message
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `MessageConverter<ProtocolMessage extends Message>`

    Methods in org.apache.activemq.artemis.spi.core.protocol that return Message
    Modifier and Type | Method and Description
    --- | ---
    `Message` | MessagePersister.`decode(ActiveMQBuffer buffer, Message record)`
    `static Message` | EmbedMessageUtil.`extractEmbedded(ICoreMessage message)`

    Methods in org.apache.activemq.artemis.spi.core.protocol with parameters of type Message
    Modifier and Type | Method and Description
    --- | ---
    `Message` | MessagePersister.`decode(ActiveMQBuffer buffer, Message record)`
    `static ICoreMessage` | EmbedMessageUtil.`embedAsCoreMessage(Message source)`
    `void` | MessagePersister.`encode(ActiveMQBuffer buffer, Message record)` Sub classes must add the first short as the protocol-id
    `int` | MessagePersister.`getEncodeSize(Message record)`
    `int` | SessionCallback.`sendLargeMessage(org.apache.activemq.artemis.core.server.MessageReference reference, Message message, org.apache.activemq.artemis.core.server.ServerConsumer consumerID, long bodySize, int deliveryCount)`
    `int` | SessionCallback.`sendMessage(org.apache.activemq.artemis.core.server.MessageReference ref, Message message, org.apache.activemq.artemis.core.server.ServerConsumer consumerID, int deliveryCount)`

    Method parameters in org.apache.activemq.artemis.spi.core.protocol with type arguments of type Message
    Modifier and Type | Method and Description
    --- | ---
    `static void` | MessagePersister.`registerPersister(org.apache.activemq.artemis.core.persistence.Persister<Message> persister)`

  - ### Uses of Message in org.apache.activemq.artemis.spi.core.remoting

    Methods in org.apache.activemq.artemis.spi.core.remoting with parameters of type Message
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | SessionContext.`expireMessage(ClientConsumer consumer, Message message)`
    `abstract int` | SessionContext.`getCreditsOnSendingFull(Message msgI)`
    `abstract void` | SessionContext.`sendACK(boolean individual, boolean block, ClientConsumer consumer, Message message)`
    `abstract int` | SessionContext.`sendInitialChunkOnLargeMessage(Message msgI)` it should return the number of credits (or bytes) used to send this packet
    `abstract int` | SessionContext.`sendLargeMessageChunk(Message msgI, long messageBodySize, boolean sendBlocking, boolean lastChunk, byte[] chunk, int reconnectID, SendAcknowledgementHandler messageHandler)`
    `abstract int` | SessionContext.`sendServerLargeMessageChunk(Message msgI, long messageBodySize, boolean sendBlocking, boolean lastChunk, byte[] chunk, SendAcknowledgementHandler messageHandler)`

Copyright © 2017 The Apache Software Foundation. All rights reserved.