Interface Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder
- All Superinterfaces:
ComponentBuilder<org.apache.camel.component.aws2.sqs.Sqs2Component>
- All Known Implementing Classes:
Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilderImpl
- Enclosing interface:
- Aws2SqsComponentBuilderFactory
public static interface Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder
extends ComponentBuilder<org.apache.camel.component.aws2.sqs.Sqs2Component>
Builder for the AWS Simple Queue Service (SQS) component.
-
Method Summary
Modifier and TypeMethodDescriptionAmazon AWS Access Key.amazonAWSHost
(String amazonAWSHost) The hostname of the Amazon AWS cloud.amazonSQSClient
(software.amazon.awssdk.services.sqs.SqsClient amazonSQSClient) To use the AmazonSQS as client.attributeNames
(String attributeNames) A list of attribute names to receive when consuming.autoCreateQueue
(boolean autoCreateQueue) Setting the autocreation of the queue.autowiredEnabled
(boolean autowiredEnabled) Whether autowiring is enabled.batchSeparator
(String batchSeparator) Set the separator when passing a String to send batch message operation.bridgeErrorHandler
(boolean bridgeErrorHandler) Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler.concurrentConsumers
(int concurrentConsumers) Allows you to use multiple threads to poll the sqs queue to increase throughput.configuration
(org.apache.camel.component.aws2.sqs.Sqs2Configuration configuration) The AWS SQS default configuration.defaultVisibilityTimeout
(Integer defaultVisibilityTimeout) The default visibility timeout (in seconds).delayQueue
(boolean delayQueue) Define if you want to apply delaySeconds option to the queue or on single messages.delaySeconds
(Integer delaySeconds) Delay sending messages for a number of seconds.deleteAfterRead
(boolean deleteAfterRead) Delete message from SQS after it has been read.deleteIfFiltered
(boolean deleteIfFiltered) Whether or not to send the DeleteMessage to the SQS queue if the exchange has property with key Sqs2Constants#SQS_DELETE_FILTERED (CamelAwsSqsDeleteFiltered) set to true.extendMessageVisibility
(boolean extendMessageVisibility) If enabled then a scheduled background task will keep extending the message visibility on SQS.kmsDataKeyReusePeriodSeconds
(Integer kmsDataKeyReusePeriodSeconds) The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again.kmsMasterKeyId
(String kmsMasterKeyId) The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK.lazyStartProducer
(boolean lazyStartProducer) Whether the producer should be started lazy (on the first message).maximumMessageSize
(Integer maximumMessageSize) The maximumMessageSize (in bytes) an SQS message can contain for this queue.messageAttributeNames
(String messageAttributeNames) A list of message attribute names to receive when consuming.messageDeduplicationIdStrategy
(String messageDeduplicationIdStrategy) Only for FIFO queues.messageGroupIdStrategy
(String messageGroupIdStrategy) Only for FIFO queues.messageHeaderExceededLimit
(String messageHeaderExceededLimit) What to do if sending to AWS SQS has more messages than AWS allows (currently only maximum 10 message headers is allowed).messageRetentionPeriod
(Integer messageRetentionPeriod) The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue.operation
(org.apache.camel.component.aws2.sqs.Sqs2Operations operation) The operation to do in case the user don't want to send only a message.overrideEndpoint
(boolean overrideEndpoint) Set the need for overriding the endpoint.The policy for this queue.The underlying protocol used to communicate with SQS.To define a proxy host when instantiating the SQS client.To define a proxy port when instantiating the SQS client.proxyProtocol
(software.amazon.awssdk.core.Protocol proxyProtocol) To define a proxy protocol when instantiating the SQS client.queueOwnerAWSAccountId
(String queueOwnerAWSAccountId) Specify the queue owner aws account id when you need to connect the queue with different account owner.To define the queueUrl explicitly.receiveMessageWaitTimeSeconds
(Integer receiveMessageWaitTimeSeconds) If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait.redrivePolicy
(String redrivePolicy) Specify the policy that send message to DeadLetter queue.The region in which SQS client needs to work.Amazon AWS Secret Key.serverSideEncryptionEnabled
(boolean serverSideEncryptionEnabled) Define if Server Side Encryption is enabled or not on the queue.trustAllCertificates
(boolean trustAllCertificates) If we want to trust all certificates in case of overriding the endpoint.uriEndpointOverride
(String uriEndpointOverride) Set the overriding uri endpoint.useDefaultCredentialsProvider
(boolean useDefaultCredentialsProvider) Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.visibilityTimeout
(Integer visibilityTimeout) The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest.waitTimeSeconds
(Integer waitTimeSeconds) Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response.Methods inherited from interface org.apache.camel.builder.component.ComponentBuilder
build, build, doSetProperty, register
-
Method Details
-
amazonAWSHost
The hostname of the Amazon AWS cloud. The option is a: <code>java.lang.String</code> type. Default: amazonaws.com Group: common- Parameters:
amazonAWSHost
- the value to set- Returns:
- the dsl builder
-
amazonSQSClient
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder amazonSQSClient(software.amazon.awssdk.services.sqs.SqsClient amazonSQSClient) To use the AmazonSQS as client. The option is a: <code>software.amazon.awssdk.services.sqs.SqsClient</code> type. Group: common- Parameters:
amazonSQSClient
- the value to set- Returns:
- the dsl builder
-
autoCreateQueue
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder autoCreateQueue(boolean autoCreateQueue) Setting the autocreation of the queue. The option is a: <code>boolean</code> type. Default: false Group: common- Parameters:
autoCreateQueue
- the value to set- Returns:
- the dsl builder
-
configuration
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder configuration(org.apache.camel.component.aws2.sqs.Sqs2Configuration configuration) The AWS SQS default configuration. The option is a: <code>org.apache.camel.component.aws2.sqs.Sqs2Configuration</code> type. Group: common- Parameters:
configuration
- the value to set- Returns:
- the dsl builder
-
overrideEndpoint
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder overrideEndpoint(boolean overrideEndpoint) Set the need for overriding the endpoint. This option needs to be used in combination with uriEndpointOverride option. The option is a: <code>boolean</code> type. Default: false Group: common- Parameters:
overrideEndpoint
- the value to set- Returns:
- the dsl builder
-
protocol
The underlying protocol used to communicate with SQS. The option is a: <code>java.lang.String</code> type. Default: https Group: common- Parameters:
protocol
- the value to set- Returns:
- the dsl builder
-
proxyProtocol
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder proxyProtocol(software.amazon.awssdk.core.Protocol proxyProtocol) To define a proxy protocol when instantiating the SQS client. The option is a: <code>software.amazon.awssdk.core.Protocol</code> type. Default: HTTPS Group: common- Parameters:
proxyProtocol
- the value to set- Returns:
- the dsl builder
-
queueOwnerAWSAccountId
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder queueOwnerAWSAccountId(String queueOwnerAWSAccountId) Specify the queue owner aws account id when you need to connect the queue with different account owner. The option is a: <code>java.lang.String</code> type. Group: common- Parameters:
queueOwnerAWSAccountId
- the value to set- Returns:
- the dsl builder
-
region
The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id(). The option is a: <code>java.lang.String</code> type. Group: common- Parameters:
region
- the value to set- Returns:
- the dsl builder
-
trustAllCertificates
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder trustAllCertificates(boolean trustAllCertificates) If we want to trust all certificates in case of overriding the endpoint. The option is a: <code>boolean</code> type. Default: false Group: common- Parameters:
trustAllCertificates
- the value to set- Returns:
- the dsl builder
-
uriEndpointOverride
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder uriEndpointOverride(String uriEndpointOverride) Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option. The option is a: <code>java.lang.String</code> type. Group: common- Parameters:
uriEndpointOverride
- the value to set- Returns:
- the dsl builder
-
useDefaultCredentialsProvider
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder useDefaultCredentialsProvider(boolean useDefaultCredentialsProvider) Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in. The option is a: <code>boolean</code> type. Default: false Group: common- Parameters:
useDefaultCredentialsProvider
- the value to set- Returns:
- the dsl builder
-
attributeNames
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder attributeNames(String attributeNames) A list of attribute names to receive when consuming. Multiple names can be separated by comma. The option is a: <code>java.lang.String</code> type. Group: consumer- Parameters:
attributeNames
- the value to set- Returns:
- the dsl builder
-
bridgeErrorHandler
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder bridgeErrorHandler(boolean bridgeErrorHandler) Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. The option is a: <code>boolean</code> type. Default: false Group: consumer- Parameters:
bridgeErrorHandler
- the value to set- Returns:
- the dsl builder
-
concurrentConsumers
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder concurrentConsumers(int concurrentConsumers) Allows you to use multiple threads to poll the sqs queue to increase throughput. The option is a: <code>int</code> type. Default: 1 Group: consumer- Parameters:
concurrentConsumers
- the value to set- Returns:
- the dsl builder
-
defaultVisibilityTimeout
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder defaultVisibilityTimeout(Integer defaultVisibilityTimeout) The default visibility timeout (in seconds). The option is a: <code>java.lang.Integer</code> type. Group: consumer- Parameters:
defaultVisibilityTimeout
- the value to set- Returns:
- the dsl builder
-
deleteAfterRead
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder deleteAfterRead(boolean deleteAfterRead) Delete message from SQS after it has been read. The option is a: <code>boolean</code> type. Default: true Group: consumer- Parameters:
deleteAfterRead
- the value to set- Returns:
- the dsl builder
-
deleteIfFiltered
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder deleteIfFiltered(boolean deleteIfFiltered) Whether or not to send the DeleteMessage to the SQS queue if the exchange has property with key Sqs2Constants#SQS_DELETE_FILTERED (CamelAwsSqsDeleteFiltered) set to true. The option is a: <code>boolean</code> type. Default: true Group: consumer- Parameters:
deleteIfFiltered
- the value to set- Returns:
- the dsl builder
-
extendMessageVisibility
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder extendMessageVisibility(boolean extendMessageVisibility) If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at Amazon docs. The option is a: <code>boolean</code> type. Default: false Group: consumer- Parameters:
extendMessageVisibility
- the value to set- Returns:
- the dsl builder
-
kmsDataKeyReusePeriodSeconds
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder kmsDataKeyReusePeriodSeconds(Integer kmsDataKeyReusePeriodSeconds) The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). The option is a: <code>java.lang.Integer</code> type. Group: consumer- Parameters:
kmsDataKeyReusePeriodSeconds
- the value to set- Returns:
- the dsl builder
-
kmsMasterKeyId
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder kmsMasterKeyId(String kmsMasterKeyId) The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. The option is a: <code>java.lang.String</code> type. Group: consumer- Parameters:
kmsMasterKeyId
- the value to set- Returns:
- the dsl builder
-
messageAttributeNames
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder messageAttributeNames(String messageAttributeNames) A list of message attribute names to receive when consuming. Multiple names can be separated by comma. The option is a: <code>java.lang.String</code> type. Group: consumer- Parameters:
messageAttributeNames
- the value to set- Returns:
- the dsl builder
-
serverSideEncryptionEnabled
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder serverSideEncryptionEnabled(boolean serverSideEncryptionEnabled) Define if Server Side Encryption is enabled or not on the queue. The option is a: <code>boolean</code> type. Default: false Group: consumer- Parameters:
serverSideEncryptionEnabled
- the value to set- Returns:
- the dsl builder
-
visibilityTimeout
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder visibilityTimeout(Integer visibilityTimeout) The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. The option is a: <code>java.lang.Integer</code> type. Group: consumer- Parameters:
visibilityTimeout
- the value to set- Returns:
- the dsl builder
-
waitTimeSeconds
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder waitTimeSeconds(Integer waitTimeSeconds) Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. The option is a: <code>java.lang.Integer</code> type. Group: consumer- Parameters:
waitTimeSeconds
- the value to set- Returns:
- the dsl builder
-
batchSeparator
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder batchSeparator(String batchSeparator) Set the separator when passing a String to send batch message operation. The option is a: <code>java.lang.String</code> type. Default: , Group: producer- Parameters:
batchSeparator
- the value to set- Returns:
- the dsl builder
-
delaySeconds
Delay sending messages for a number of seconds. The option is a: <code>java.lang.Integer</code> type. Group: producer- Parameters:
delaySeconds
- the value to set- Returns:
- the dsl builder
-
lazyStartProducer
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder lazyStartProducer(boolean lazyStartProducer) Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. The option is a: <code>boolean</code> type. Default: false Group: producer- Parameters:
lazyStartProducer
- the value to set- Returns:
- the dsl builder
-
messageDeduplicationIdStrategy
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder messageDeduplicationIdStrategy(String messageDeduplicationIdStrategy) Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. The option is a: <code>java.lang.String</code> type. Default: useExchangeId Group: producer- Parameters:
messageDeduplicationIdStrategy
- the value to set- Returns:
- the dsl builder
-
messageGroupIdStrategy
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder messageGroupIdStrategy(String messageGroupIdStrategy) Only for FIFO queues. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used. The option is a: <code>java.lang.String</code> type. Group: producer- Parameters:
messageGroupIdStrategy
- the value to set- Returns:
- the dsl builder
-
messageHeaderExceededLimit
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder messageHeaderExceededLimit(String messageHeaderExceededLimit) What to do if sending to AWS SQS has more messages than AWS allows (currently only maximum 10 message headers is allowed). WARN will log a WARN about the limit is for each additional header, so the message can be sent to AWS. WARN_ONCE will only log one time a WARN about the limit is hit, and drop additional headers, so the message can be sent to AWS. IGNORE will ignore (no logging) and drop additional headers, so the message can be sent to AWS. FAIL will cause an exception to be thrown and the message is not sent to AWS. The option is a: <code>java.lang.String</code> type. Default: WARN Group: producer- Parameters:
messageHeaderExceededLimit
- the value to set- Returns:
- the dsl builder
-
operation
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder operation(org.apache.camel.component.aws2.sqs.Sqs2Operations operation) The operation to do in case the user don't want to send only a message. The option is a: <code>org.apache.camel.component.aws2.sqs.Sqs2Operations</code> type. Group: producer- Parameters:
operation
- the value to set- Returns:
- the dsl builder
-
autowiredEnabled
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder autowiredEnabled(boolean autowiredEnabled) Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. The option is a: <code>boolean</code> type. Default: true Group: advanced- Parameters:
autowiredEnabled
- the value to set- Returns:
- the dsl builder
-
delayQueue
Define if you want to apply delaySeconds option to the queue or on single messages. The option is a: <code>boolean</code> type. Default: false Group: advanced- Parameters:
delayQueue
- the value to set- Returns:
- the dsl builder
-
proxyHost
To define a proxy host when instantiating the SQS client. The option is a: <code>java.lang.String</code> type. Group: proxy- Parameters:
proxyHost
- the value to set- Returns:
- the dsl builder
-
proxyPort
To define a proxy port when instantiating the SQS client. The option is a: <code>java.lang.Integer</code> type. Group: proxy- Parameters:
proxyPort
- the value to set- Returns:
- the dsl builder
-
maximumMessageSize
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder maximumMessageSize(Integer maximumMessageSize) The maximumMessageSize (in bytes) an SQS message can contain for this queue. The option is a: <code>java.lang.Integer</code> type. Group: queue- Parameters:
maximumMessageSize
- the value to set- Returns:
- the dsl builder
-
messageRetentionPeriod
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder messageRetentionPeriod(Integer messageRetentionPeriod) The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue. The option is a: <code>java.lang.Integer</code> type. Group: queue- Parameters:
messageRetentionPeriod
- the value to set- Returns:
- the dsl builder
-
policy
The policy for this queue. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. The option is a: <code>java.lang.String</code> type. Group: queue- Parameters:
policy
- the value to set- Returns:
- the dsl builder
-
queueUrl
To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is intended to be used, to connect to a mock implementation of SQS, for testing purposes. The option is a: <code>java.lang.String</code> type. Group: queue- Parameters:
queueUrl
- the value to set- Returns:
- the dsl builder
-
receiveMessageWaitTimeSeconds
default Aws2SqsComponentBuilderFactory.Aws2SqsComponentBuilder receiveMessageWaitTimeSeconds(Integer receiveMessageWaitTimeSeconds) If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. The option is a: <code>java.lang.Integer</code> type. Group: queue- Parameters:
receiveMessageWaitTimeSeconds
- the value to set- Returns:
- the dsl builder
-
redrivePolicy
Specify the policy that send message to DeadLetter queue. See detail at Amazon docs. The option is a: <code>java.lang.String</code> type. Group: queue- Parameters:
redrivePolicy
- the value to set- Returns:
- the dsl builder
-
accessKey
Amazon AWS Access Key. The option is a: <code>java.lang.String</code> type. Group: security- Parameters:
accessKey
- the value to set- Returns:
- the dsl builder
-
secretKey
Amazon AWS Secret Key. The option is a: <code>java.lang.String</code> type. Group: security- Parameters:
secretKey
- the value to set- Returns:
- the dsl builder
-