All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.solace.spring.cloud.stream.binder.messaging.SolaceBinderHeaders Maven / Gradle / Ivy

The newest version!
package com.solace.spring.cloud.stream.binder.messaging;

import com.solace.spring.cloud.stream.binder.util.CorrelationData;
import org.springframework.messaging.Message;

/**
 * 

Solace-defined Spring headers to get/set Solace Spring Cloud Stream Binder properties * from/to Spring {@link Message Message} headers.

*
*

These can be used for:

*
    *
  • Getting/Setting Solace Binder metadata
  • *
  • Directive actions for the binder when producing/consuming messages
  • *
*
*

Header Access Control:

*

Be aware that each header has an expected usage scenario. * Using headers outside of their intended access-control scenario is not supported.

*/ public final class SolaceBinderHeaders { /** * The prefix used for all headers in this class. */ static final String PREFIX = SolaceHeaders.PREFIX + "scst_"; /** *

Acceptable Value Type: {@link String}

*

Access: Write

*
*

The partition key for PubSub+ partitioned queues.

*/ public static final String PARTITION_KEY = PREFIX + "partitionKey"; /** *

Acceptable Value Type: {@link Boolean}

*
*

When true large messages are split in 4MB chunks and reassembled in the consumer.

*

The Queue needs to be partitioned to support this feature

*/ public static final String LARGE_MESSAGE_SUPPORT = PREFIX + "largeMessageSupport"; /** *

Acceptable Value Type: {@link Long}

*

Access: Internal Binder Use Only

*
*

Then id (should be more or less unique) of the array of chunks.

*/ public static final String CHUNK_ID = PREFIX + "chunkId"; /** *

Acceptable Value Type: {@link Integer}

*

Access: Internal Binder Use Only

*
*

Then index of the current message in the array of chunks. Zero-Based.

*/ public static final String CHUNK_INDEX = PREFIX + "chunkIndex"; /** *

Acceptable Value Type: {@link Integer}

*

Access: Internal Binder Use Only

*
*

Then length of the array of chunks.

*/ public static final String CHUNK_COUNT = PREFIX + "chunkCount"; /** *

Acceptable Value Type: {@link Integer}

*

Access: Read

*

Default Value: {@code 1}

*
*

A static number set by the publisher to indicate the Spring Cloud Stream Solace message version.

*/ public static final String MESSAGE_VERSION = PREFIX + "messageVersion"; /** *

Acceptable Value Type: {@link Boolean}

*

Access: Internal Binder Use Only

*
*

Is {@code true} if a Solace Spring Cloud Stream binder has serialized the payload before publishing * it to a broker. Is undefined otherwise.

*/ public static final String SERIALIZED_PAYLOAD = PREFIX + "serializedPayload"; /** *

Acceptable Value Type: {@link String}

*

Access: Internal Binder Use Only

*
*

A JSON String array of header names where each entry indicates that that header’s value was serialized by a * Solace Spring Cloud Stream binder before publishing it to a broker.

*/ public static final String SERIALIZED_HEADERS = PREFIX + "serializedHeaders"; /** *

Acceptable Value Type: {@link String}

*

Access: Internal Binder Use Only

*

Default Value: {@code "base64"}

*
*

The encoding algorithm used to encode the headers indicated by {@link #SERIALIZED_HEADERS}.

*/ public static final String SERIALIZED_HEADERS_ENCODING = PREFIX + "serializedHeadersEncoding"; /** *

Acceptable Value Type: {@link CorrelationData}

*

Access: Write

*
*

A CorrelationData instance for messaging confirmations.

*/ public static final String CONFIRM_CORRELATION = PREFIX + "confirmCorrelation"; /** *

Acceptable Value Type: {@link Boolean}

*

Access: Read

*
*

Present and true to indicate when the PubSub+ message payload was null.

*/ public static final String NULL_PAYLOAD = PREFIX + "nullPayload"; /** *

Acceptable Value Type: String

*

Access: Write

*
*

Only applicable when {@code scst_targetDestination} is set.

*
    *
  • topic: Specifies that the dynamic destination is a topic
  • *
  • queue: Specifies that the dynamic destination is a queue
  • *
*

When absent, the binding’s configured destination-type is used.

*/ public static final String TARGET_DESTINATION_TYPE = PREFIX + "targetDestinationType"; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy