## Uses of Interface
org.apache.activemq.artemis.api.core.client.ClientMessage

- Packages that use ClientMessage
  Package | Description
  --- | ---
  org.apache.activemq.artemis.api.core.client |
  org.apache.activemq.artemis.jms.client |
  org.apache.activemq.artemis.jms.client.compatible1X |

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

    Methods in org.apache.activemq.artemis.api.core.client that return ClientMessage
    Modifier and Type | Method | Description
    --- | --- | ---
    `ClientMessage` | ClientMessage.`acknowledge()` | Acknowledges reception of this message.
    `ClientMessage` | ClientSession.`createMessage​(boolean durable)` | Creates a ClientMessage.
    `ClientMessage` | ClientSession.`createMessage​(byte type, boolean durable)` | Creates a ClientMessage.
    `ClientMessage` | ClientSession.`createMessage​(byte type, boolean durable, long expiration, long timestamp, byte priority)` | Creates a ClientMessage.
    `ClientMessage` | ClientMessage.`individualAcknowledge()` | Acknowledges reception of a single message.
    `ClientMessage` | ClientMessage.`putBooleanProperty​(java.lang.String key, boolean value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putBooleanProperty​(org.apache.activemq.artemis.api.core.SimpleString key, boolean value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putByteProperty​(java.lang.String key, byte value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putByteProperty​(org.apache.activemq.artemis.api.core.SimpleString key, byte value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putBytesProperty​(java.lang.String key, byte[] value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putBytesProperty​(org.apache.activemq.artemis.api.core.SimpleString key, byte[] value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putCharProperty​(java.lang.String key, char value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putCharProperty​(org.apache.activemq.artemis.api.core.SimpleString key, char value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putDoubleProperty​(java.lang.String key, double value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putDoubleProperty​(org.apache.activemq.artemis.api.core.SimpleString key, double value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putFloatProperty​(java.lang.String key, float value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putFloatProperty​(org.apache.activemq.artemis.api.core.SimpleString key, float value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putIntProperty​(java.lang.String key, int value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putIntProperty​(org.apache.activemq.artemis.api.core.SimpleString key, int value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putLongProperty​(java.lang.String key, long value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putLongProperty​(org.apache.activemq.artemis.api.core.SimpleString key, long value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putShortProperty​(java.lang.String key, short value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putShortProperty​(org.apache.activemq.artemis.api.core.SimpleString key, short value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`putStringProperty​(java.lang.String key, java.lang.String value)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientConsumer.`receive()` | Receives a message from a queue.
    `ClientMessage` | ClientConsumer.`receive​(long timeout)` | Receives a message from a queue.
    `ClientMessage` | ClientConsumer.`receiveImmediate()` | Receives a message from a queue.
    `ClientMessage` | ClientRequestor.`request​(ClientMessage request)` | Sends a message to the request address and wait indefinitely for a reply.
    `ClientMessage` | ClientRequestor.`request​(ClientMessage request, long timeout)` | Sends a message to the request address and wait for the given timeout for a reply.
    `ClientMessage` | ClientMessage.`setBodyInputStream​(java.io.InputStream bodyInputStream)` | Sets the body's IntputStream.
    `ClientMessage` | ClientMessage.`setDeliveryCount​(int deliveryCount)` | Sets the delivery count for this message.
    `ClientMessage` | ClientMessage.`setOutputStream​(java.io.OutputStream out)` | Sets the OutputStream that will receive the content of a message received in a non blocking way.
    `ClientMessage` | ClientMessage.`writeBodyBufferBytes​(byte[] bytes)` | Overridden from `Message` to enable fluent API
    `ClientMessage` | ClientMessage.`writeBodyBufferString​(java.lang.String string)` | Overridden from `Message` to enable fluent API

    Methods in org.apache.activemq.artemis.api.core.client with parameters of type ClientMessage
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | MessageHandler.`onMessage​(ClientMessage message)` | Notifies the MessageHandler that a message has been received.
    `ClientMessage` | ClientRequestor.`request​(ClientMessage request)` | Sends a message to the request address and wait indefinitely for a reply.
    `ClientMessage` | ClientRequestor.`request​(ClientMessage request, long timeout)` | Sends a message to the request address and wait for the given timeout for a reply.

  - ### Uses of ClientMessage in org.apache.activemq.artemis.jms.client

    Fields in org.apache.activemq.artemis.jms.client declared as ClientMessage
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ClientMessage` | ActiveMQMessage.`message` |

    Methods in org.apache.activemq.artemis.jms.client that return ClientMessage
    Modifier and Type | Method | Description
    --- | --- | ---
    `ClientMessage` | ActiveMQMessage.`getCoreMessage()` |

    Methods in org.apache.activemq.artemis.jms.client with parameters of type ClientMessage
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ActiveMQMessage` | ActiveMQMessage.`createMessage​(ClientMessage message, ClientSession session)` |
    `static ActiveMQMessage` | ActiveMQMessage.`createMessage​(ClientMessage message, ClientSession session, ConnectionFactoryOptions options)` |
    `void` | JMSMessageListenerWrapper.`onMessage​(ClientMessage message)` | In this method we apply the JMS acknowledgement and redelivery semantics as per JMS spec

    Constructors in org.apache.activemq.artemis.jms.client with parameters of type ClientMessage
    Constructor | Description
    --- | ---
    `ActiveMQBytesMessage​(ClientMessage message, ClientSession session)` | Constructor on receipt at client side
    `ActiveMQMapMessage​(ClientMessage message, ClientSession session)` |
    `ActiveMQMessage​(ClientMessage message, ClientSession session)` | Constructor for when receiving a message from the server
    `ActiveMQObjectMessage​(ClientMessage message, ClientSession session, ConnectionFactoryOptions options)` |
    `ActiveMQStreamMessage​(ClientMessage message, ClientSession session)` |
    `ActiveMQTextMessage​(ClientMessage message, ClientSession session)` |

  - ### Uses of ClientMessage in org.apache.activemq.artemis.jms.client.compatible1X

    Methods in org.apache.activemq.artemis.jms.client.compatible1X with parameters of type ClientMessage
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ActiveMQMessage` | ActiveMQCompatibleMessage.`createMessage​(ClientMessage message, ClientSession session, ConnectionFactoryOptions options)` |

    Constructors in org.apache.activemq.artemis.jms.client.compatible1X with parameters of type ClientMessage
    Constructor | Description
    --- | ---
    `ActiveMQBytesCompatibleMessage​(ClientMessage message, ClientSession session)` |
    `ActiveMQCompatibleMessage​(ClientMessage message, ClientSession session)` |
    `ActiveMQMapCompatibleMessage​(ClientMessage message, ClientSession session)` |
    `ActiveMQObjectCompatibleMessage​(ClientMessage message, ClientSession session, ConnectionFactoryOptions options)` |
    `ActiveMQStreamCompatibleMessage​(ClientMessage message, ClientSession session)` |
    `ActiveMQTextCompatibleMessage​(ClientMessage message, ClientSession session)` |