This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch CAMEL-13870
in repository https://gitbox.apache.org/repos/asf/camel.git

commit adb0a34d93797b617a40c8b15aea8bedda45eba5
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Aug 20 20:08:47 2019 +0200

    CAMEL-13870: Fast property configuration of Camel endpoints. Work in 
progress.
---
 .../camel-activemq/src/main/docs/activemq-component.adoc  |  2 +-
 components/camel-amqp/src/main/docs/amqp-component.adoc   |  2 +-
 .../component/atomix/client/map/AtomixMapConsumer.java    |  2 +-
 .../component/atomix/client/map/AtomixMapEndpoint.java    |  2 +-
 .../component/atomix/client/map/AtomixMapProducer.java    |  2 +-
 .../atomix/client/messaging/AtomixMessagingConsumer.java  |  2 +-
 .../atomix/client/messaging/AtomixMessagingEndpoint.java  |  2 +-
 .../atomix/client/messaging/AtomixMessagingProducer.java  |  2 +-
 .../atomix/client/multimap/AtomixMultiMapEndpoint.java    |  2 +-
 .../atomix/client/multimap/AtomixMultiMapProducer.java    |  2 +-
 .../atomix/client/queue/AtomixQueueConsumer.java          |  2 +-
 .../atomix/client/queue/AtomixQueueEndpoint.java          |  2 +-
 .../atomix/client/queue/AtomixQueueProducer.java          |  2 +-
 .../component/atomix/client/set/AtomixSetConsumer.java    |  2 +-
 .../component/atomix/client/set/AtomixSetEndpoint.java    |  2 +-
 .../component/atomix/client/set/AtomixSetProducer.java    |  2 +-
 .../atomix/client/value/AtomixValueConsumer.java          |  2 +-
 .../atomix/client/value/AtomixValueEndpoint.java          |  2 +-
 .../atomix/client/value/AtomixValueProducer.java          |  2 +-
 .../apache/camel/component/aws/sqs/SqsConfiguration.java  |  8 ++++++++
 components/camel-jms/src/main/docs/jms-component.adoc     |  2 +-
 .../org/apache/camel/component/jms/JmsConfiguration.java  |  6 +++++-
 .../aws/sqs/springboot/SqsComponentConfiguration.java     | 15 +++++++++------
 23 files changed, 42 insertions(+), 27 deletions(-)

diff --git a/components/camel-activemq/src/main/docs/activemq-component.adoc 
b/components/camel-activemq/src/main/docs/activemq-component.adoc
index 7b2e19a..16bd9ce 100644
--- a/components/camel-activemq/src/main/docs/activemq-component.adoc
+++ b/components/camel-activemq/src/main/docs/activemq-component.adoc
@@ -233,7 +233,7 @@ with the following path and query parameters:
 | *idleConsumerLimit* (advanced) | Specify the limit for the number of 
consumers that are allowed to be idle at any given time. | 1 | int
 | *idleTaskExecutionLimit* (advanced) | Specifies the limit for idle 
executions of a receive task, not having received any message within its 
execution. If this limit is reached, the task will shut down and leave 
receiving to other executing tasks (in the case of dynamic scheduling; see the 
maxConcurrentConsumers setting). There is additional doc available from Spring. 
| 1 | int
 | *includeAllJMSXProperties* (advanced) | Whether to include all JMSXxxx 
properties when mapping from JMS to Camel Message. Setting this to true will 
include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are 
using a custom headerFilterStrategy then this option does not apply. | false | 
boolean
-| *jmsKeyFormatStrategy* (advanced) | Pluggable strategy for encoding and 
decoding JMS keys so they can be compliant with the JMS specification. Camel 
provides two implementations out of the box: default and passthrough. The 
default strategy will safely marshal dots and hyphens (. and -). The 
passthrough strategy leaves the key as is. Can be used for JMS brokers which do 
not care whether JMS header keys contain illegal characters. You can provide 
your own implementation of the org.apache [...]
+| *jmsKeyFormatStrategy* (advanced) | Pluggable strategy for encoding and 
decoding JMS keys so they can be compliant with the JMS specification. Camel 
provides two implementations out of the box: default and passthrough. The 
default strategy will safely marshal dots and hyphens (. and -). The 
passthrough strategy leaves the key as is. Can be used for JMS brokers which do 
not care whether JMS header keys contain illegal characters. You can provide 
your own implementation of the org.apache [...]
 | *mapJmsMessage* (advanced) | Specifies whether Camel should auto map the 
received JMS message to a suited payload type, such as javax.jms.TextMessage to 
a String etc. | true | boolean
 | *maxMessagesPerTask* (advanced) | The number of messages per task. -1 is 
unlimited. If you use a range for concurrent consumers (eg min max), then this 
option can be used to set a value to eg 100 to control how fast the consumers 
will shrink when less work is required. | -1 | int
 | *messageConverter* (advanced) | To use a custom Spring 
org.springframework.jms.support.converter.MessageConverter so you can be in 
control how to map to/from a javax.jms.Message. |  | MessageConverter
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc 
b/components/camel-amqp/src/main/docs/amqp-component.adoc
index 5254845..0f8026c 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -223,7 +223,7 @@ with the following path and query parameters:
 | *idleConsumerLimit* (advanced) | Specify the limit for the number of 
consumers that are allowed to be idle at any given time. | 1 | int
 | *idleTaskExecutionLimit* (advanced) | Specifies the limit for idle 
executions of a receive task, not having received any message within its 
execution. If this limit is reached, the task will shut down and leave 
receiving to other executing tasks (in the case of dynamic scheduling; see the 
maxConcurrentConsumers setting). There is additional doc available from Spring. 
| 1 | int
 | *includeAllJMSXProperties* (advanced) | Whether to include all JMSXxxx 
properties when mapping from JMS to Camel Message. Setting this to true will 
include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are 
using a custom headerFilterStrategy then this option does not apply. | false | 
boolean
-| *jmsKeyFormatStrategy* (advanced) | Pluggable strategy for encoding and 
decoding JMS keys so they can be compliant with the JMS specification. Camel 
provides two implementations out of the box: default and passthrough. The 
default strategy will safely marshal dots and hyphens (. and -). The 
passthrough strategy leaves the key as is. Can be used for JMS brokers which do 
not care whether JMS header keys contain illegal characters. You can provide 
your own implementation of the org.apache [...]
+| *jmsKeyFormatStrategy* (advanced) | Pluggable strategy for encoding and 
decoding JMS keys so they can be compliant with the JMS specification. Camel 
provides two implementations out of the box: default and passthrough. The 
default strategy will safely marshal dots and hyphens (. and -). The 
passthrough strategy leaves the key as is. Can be used for JMS brokers which do 
not care whether JMS header keys contain illegal characters. You can provide 
your own implementation of the org.apache [...]
 | *mapJmsMessage* (advanced) | Specifies whether Camel should auto map the 
received JMS message to a suited payload type, such as javax.jms.TextMessage to 
a String etc. | true | boolean
 | *maxMessagesPerTask* (advanced) | The number of messages per task. -1 is 
unlimited. If you use a range for concurrent consumers (eg min max), then this 
option can be used to set a value to eg 100 to control how fast the consumers 
will shrink when less work is required. | -1 | int
 | *messageConverter* (advanced) | To use a custom Spring 
org.springframework.jms.support.converter.MessageConverter so you can be in 
control how to map to/from a javax.jms.Message. |  | MessageConverter
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapConsumer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapConsumer.java
index 110cd5b..2627bd1 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapConsumer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapConsumer.java
@@ -28,7 +28,7 @@ import 
org.apache.camel.component.atomix.client.AtomixClientConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-final class AtomixMapConsumer extends 
AbstractAtomixClientConsumer<AtomixMapEndpoint> {
+public final class AtomixMapConsumer extends 
AbstractAtomixClientConsumer<AtomixMapEndpoint> {
 
     private final List<Listener<DistributedMap.EntryEvent<Object, Object>>> 
listeners;
     private final String resourceName;
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapEndpoint.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapEndpoint.java
index a11443f..99fab81 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapEndpoint.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriParam;
     title = "Atomix Map",
     syntax = "atomix-map:resourceName",
     label = "clustering")
-class AtomixMapEndpoint extends 
AbstractAtomixClientEndpoint<AtomixMapComponent, AtomixMapConfiguration> {
+public class AtomixMapEndpoint extends 
AbstractAtomixClientEndpoint<AtomixMapComponent, AtomixMapConfiguration> {
     @UriParam
     private AtomixMapConfiguration configuration;
 
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapProducer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapProducer.java
index fd7a73a..5515fb9 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapProducer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapProducer.java
@@ -35,7 +35,7 @@ import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RES
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_TTL;
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_VALUE;
 
-final class AtomixMapProducer extends 
AbstractAtomixClientProducer<AtomixMapEndpoint, DistributedMap<Object, Object>> 
{
+public final class AtomixMapProducer extends 
AbstractAtomixClientProducer<AtomixMapEndpoint, DistributedMap<Object, Object>> 
{
     private final AtomixMapConfiguration configuration;
 
     protected AtomixMapProducer(AtomixMapEndpoint endpoint) {
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingConsumer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingConsumer.java
index f8763f5..3c101bb 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingConsumer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingConsumer.java
@@ -36,7 +36,7 @@ import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.CHA
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.MEMBER_NAME;
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_NAME;
 
-final class AtomixMessagingConsumer extends 
AbstractAtomixClientConsumer<AtomixMessagingEndpoint> {
+public final class AtomixMessagingConsumer extends 
AbstractAtomixClientConsumer<AtomixMessagingEndpoint> {
 
     private final List<Listener<Message<Object>>> listeners;
     private final String resultHeader;
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingEndpoint.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingEndpoint.java
index ed2eab2..d0674e9 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingEndpoint.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriParam;
     title = "Atomix Messaging",
     syntax = "atomix-messaging:resourceName",
     label = "clustering")
-final class AtomixMessagingEndpoint extends 
AbstractAtomixClientEndpoint<AtomixMessagingComponent, 
AtomixMessagingConfiguration> {
+public final class AtomixMessagingEndpoint extends 
AbstractAtomixClientEndpoint<AtomixMessagingComponent, 
AtomixMessagingConfiguration> {
     @UriParam
     private AtomixMessagingConfiguration configuration;
 
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducer.java
index f5b371d..e04e5c0 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingProducer.java
@@ -35,7 +35,7 @@ import static 
org.apache.camel.component.atomix.client.messaging.AtomixMessaging
 import static 
org.apache.camel.component.atomix.client.messaging.AtomixMessaging.OPTIONS_BROADCAST_RANDOM;
 import static 
org.apache.camel.component.atomix.client.messaging.AtomixMessaging.OPTIONS_DIRECT;
 
-final class AtomixMessagingProducer extends 
AbstractAtomixClientProducer<AtomixMessagingEndpoint, DistributedGroup> {
+public final class AtomixMessagingProducer extends 
AbstractAtomixClientProducer<AtomixMessagingEndpoint, DistributedGroup> {
     private final AtomixMessagingConfiguration configuration;
 
     protected AtomixMessagingProducer(AtomixMessagingEndpoint endpoint) {
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapEndpoint.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapEndpoint.java
index 113e9ed..0a0de4a 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapEndpoint.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriParam;
     syntax = "atomix-multimap:resourceName",
     consumerOnly = true,
     label = "clustering")
-final class AtomixMultiMapEndpoint extends 
AbstractAtomixClientEndpoint<AtomixMultiMapComponent, 
AtomixMultiMapConfiguration> {
+public final class AtomixMultiMapEndpoint extends 
AbstractAtomixClientEndpoint<AtomixMultiMapComponent, 
AtomixMultiMapConfiguration> {
     @UriParam
     private AtomixMultiMapConfiguration configuration;
 
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducer.java
index 7c11d98..78df617 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapProducer.java
@@ -33,7 +33,7 @@ import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RES
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_TTL;
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_VALUE;
 
-final class AtomixMultiMapProducer extends 
AbstractAtomixClientProducer<AtomixMultiMapEndpoint, DistributedMultiMap> {
+public final class AtomixMultiMapProducer extends 
AbstractAtomixClientProducer<AtomixMultiMapEndpoint, DistributedMultiMap> {
     private final AtomixMultiMapConfiguration configuration;
 
     protected AtomixMultiMapProducer(AtomixMultiMapEndpoint endpoint) {
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueConsumer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueConsumer.java
index 00fb320..34afa61 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueConsumer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueConsumer.java
@@ -28,7 +28,7 @@ import 
org.apache.camel.component.atomix.client.AtomixClientConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-final class AtomixQueueConsumer extends 
AbstractAtomixClientConsumer<AtomixQueueEndpoint> {
+public final class AtomixQueueConsumer extends 
AbstractAtomixClientConsumer<AtomixQueueEndpoint> {
 
     private final List<Listener<DistributedQueue.ValueEvent<Object>>> 
listeners;
     private final String resourceName;
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueEndpoint.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueEndpoint.java
index a2bfa35..21fe107 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueEndpoint.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriParam;
     title = "Atomix Queue",
     syntax = "atomix-queue:resourceName",
     label = "clustering")
-final class AtomixQueueEndpoint extends 
AbstractAtomixClientEndpoint<AtomixQueueComponent, AtomixQueueConfiguration> {
+public final class AtomixQueueEndpoint extends 
AbstractAtomixClientEndpoint<AtomixQueueComponent, AtomixQueueConfiguration> {
     @UriParam
     private AtomixQueueConfiguration configuration;
 
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducer.java
index d42cf9c..5446bea 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueProducer.java
@@ -29,7 +29,7 @@ import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RES
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_READ_CONSISTENCY;
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_VALUE;
 
-final class AtomixQueueProducer extends 
AbstractAtomixClientProducer<AtomixQueueEndpoint, DistributedQueue> {
+public final class AtomixQueueProducer extends 
AbstractAtomixClientProducer<AtomixQueueEndpoint, DistributedQueue> {
     private final AtomixQueueConfiguration configuration;
 
     protected AtomixQueueProducer(AtomixQueueEndpoint endpoint) {
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetConsumer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetConsumer.java
index 3f696d9..faef03a 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetConsumer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetConsumer.java
@@ -28,7 +28,7 @@ import 
org.apache.camel.component.atomix.client.AtomixClientConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-final class AtomixSetConsumer extends 
AbstractAtomixClientConsumer<AtomixSetEndpoint> {
+public final class AtomixSetConsumer extends 
AbstractAtomixClientConsumer<AtomixSetEndpoint> {
 
     private final List<Listener<DistributedSet.ValueEvent<Object>>> listeners;
     private final String resourceName;
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetEndpoint.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetEndpoint.java
index 88dad42..4a95a37 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetEndpoint.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriParam;
     title = "Atomix Set",
     syntax = "atomix-set:resourceName",
     label = "clustering")
-final class AtomixSetEndpoint extends 
AbstractAtomixClientEndpoint<AtomixSetComponent, AtomixSetConfiguration> {
+public final class AtomixSetEndpoint extends 
AbstractAtomixClientEndpoint<AtomixSetComponent, AtomixSetConfiguration> {
     @UriParam
     private AtomixSetConfiguration configuration;
 
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetProducer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetProducer.java
index 19aec85..7794383 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetProducer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetProducer.java
@@ -32,7 +32,7 @@ import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RES
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_TTL;
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_VALUE;
 
-final class AtomixSetProducer extends 
AbstractAtomixClientProducer<AtomixSetEndpoint, DistributedSet> {
+public final class AtomixSetProducer extends 
AbstractAtomixClientProducer<AtomixSetEndpoint, DistributedSet> {
     private final AtomixSetConfiguration configuration;
 
     protected AtomixSetProducer(AtomixSetEndpoint endpoint) {
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueConsumer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueConsumer.java
index ac83bc1..520137b 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueConsumer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueConsumer.java
@@ -28,7 +28,7 @@ import 
org.apache.camel.component.atomix.client.AtomixClientConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-final class AtomixValueConsumer extends 
AbstractAtomixClientConsumer<AtomixValueEndpoint> {
+public final class AtomixValueConsumer extends 
AbstractAtomixClientConsumer<AtomixValueEndpoint> {
 
     private final List<Listener<DistributedValue.ChangeEvent<Object>>> 
listeners;
     private final String resourceName;
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueEndpoint.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueEndpoint.java
index 4e46520..804404f 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueEndpoint.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriParam;
     title = "Atomix Value",
     syntax = "atomix-value:resourceName",
     label = "clustering")
-final class AtomixValueEndpoint extends 
AbstractAtomixClientEndpoint<AtomixValueComponent, AtomixValueConfiguration> {
+public final class AtomixValueEndpoint extends 
AbstractAtomixClientEndpoint<AtomixValueComponent, AtomixValueConfiguration> {
     @UriParam
     private AtomixValueConfiguration configuration;
 
diff --git 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueProducer.java
 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueProducer.java
index 1c83d24..a8ff5e1 100644
--- 
a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueProducer.java
+++ 
b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueProducer.java
@@ -33,7 +33,7 @@ import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RES
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_TTL;
 import static 
org.apache.camel.component.atomix.client.AtomixClientConstants.RESOURCE_VALUE;
 
-final class AtomixValueProducer extends 
AbstractAtomixClientProducer<AtomixValueEndpoint, DistributedValue> {
+public final class AtomixValueProducer extends 
AbstractAtomixClientProducer<AtomixValueEndpoint, DistributedValue> {
     private final AtomixValueConfiguration configuration;
 
     protected AtomixValueProducer(AtomixValueEndpoint endpoint) {
diff --git 
a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
 
b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
index e449e16..81f9944 100644
--- 
a/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
+++ 
b/components/camel-aws-sqs/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
@@ -476,6 +476,10 @@ public class SqsConfiguration implements Cloneable {
         }
     }
 
+    public void setMessageGroupIdStrategy(MessageGroupIdStrategy 
messageGroupIdStrategy) {
+        this.messageGroupIdStrategy = messageGroupIdStrategy;
+    }
+
     public MessageGroupIdStrategy getMessageGroupIdStrategy() {
         return messageGroupIdStrategy;
     }
@@ -500,6 +504,10 @@ public class SqsConfiguration implements Cloneable {
         }
     }
 
+    public void 
setMessageDeduplicationIdStrategy(MessageDeduplicationIdStrategy 
messageDeduplicationIdStrategy) {
+        this.messageDeduplicationIdStrategy = messageDeduplicationIdStrategy;
+    }
+
     public SqsOperations getOperation() {
         return operation;
     }
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc 
b/components/camel-jms/src/main/docs/jms-component.adoc
index 68efe6d..0a42500 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -390,7 +390,7 @@ with the following path and query parameters:
 | *idleConsumerLimit* (advanced) | Specify the limit for the number of 
consumers that are allowed to be idle at any given time. | 1 | int
 | *idleTaskExecutionLimit* (advanced) | Specifies the limit for idle 
executions of a receive task, not having received any message within its 
execution. If this limit is reached, the task will shut down and leave 
receiving to other executing tasks (in the case of dynamic scheduling; see the 
maxConcurrentConsumers setting). There is additional doc available from Spring. 
| 1 | int
 | *includeAllJMSXProperties* (advanced) | Whether to include all JMSXxxx 
properties when mapping from JMS to Camel Message. Setting this to true will 
include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are 
using a custom headerFilterStrategy then this option does not apply. | false | 
boolean
-| *jmsKeyFormatStrategy* (advanced) | Pluggable strategy for encoding and 
decoding JMS keys so they can be compliant with the JMS specification. Camel 
provides two implementations out of the box: default and passthrough. The 
default strategy will safely marshal dots and hyphens (. and -). The 
passthrough strategy leaves the key as is. Can be used for JMS brokers which do 
not care whether JMS header keys contain illegal characters. You can provide 
your own implementation of the org.apache [...]
+| *jmsKeyFormatStrategy* (advanced) | Pluggable strategy for encoding and 
decoding JMS keys so they can be compliant with the JMS specification. Camel 
provides two implementations out of the box: default and passthrough. The 
default strategy will safely marshal dots and hyphens (. and -). The 
passthrough strategy leaves the key as is. Can be used for JMS brokers which do 
not care whether JMS header keys contain illegal characters. You can provide 
your own implementation of the org.apache [...]
 | *mapJmsMessage* (advanced) | Specifies whether Camel should auto map the 
received JMS message to a suited payload type, such as javax.jms.TextMessage to 
a String etc. | true | boolean
 | *maxMessagesPerTask* (advanced) | The number of messages per task. -1 is 
unlimited. If you use a range for concurrent consumers (eg min max), then this 
option can be used to set a value to eg 100 to control how fast the consumers 
will shrink when less work is required. | -1 | int
 | *messageConverter* (advanced) | To use a custom Spring 
org.springframework.jms.support.converter.MessageConverter so you can be in 
control how to map to/from a javax.jms.Message. |  | MessageConverter
diff --git 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
index 7109b35..2759338 100644
--- 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
+++ 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
@@ -309,7 +309,7 @@ public class JmsConfiguration implements Cloneable {
                     + " Possible values are: Bytes, Map, Object, Stream, Text."
                     + " By default, Camel would determine which JMS message 
type to use from the In body type. This option allows you to specify it.")
     private JmsMessageType jmsMessageType;
-    @UriParam(label = "advanced", enums = "default,passthrough", javaType = 
"java.lang.String",
+    @UriParam(label = "advanced", enums = "default,passthrough",
             description = "Pluggable strategy for encoding and decoding JMS 
keys so they can be compliant with the JMS specification."
                     + " Camel provides two implementations out of the box: 
default and passthrough."
                     + " The default strategy will safely marshal dots and 
hyphens (. and -). The passthrough strategy leaves the key as is."
@@ -1213,6 +1213,10 @@ public class JmsConfiguration implements Cloneable {
         return explicitQosEnabled != null ? explicitQosEnabled : false;
     }
 
+    public Boolean getExplicitQosEnabled() {
+        return explicitQosEnabled;
+    }
+
     /**
      * Set if the deliveryMode, priority or timeToLive qualities of service 
should be used when sending messages.
      * This option is based on Spring's JmsTemplate. The deliveryMode, 
priority and timeToLive options are applied to the current endpoint.
diff --git 
a/platforms/spring-boot/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConfiguration.java
index 4de9aa7..49af144 100644
--- 
a/platforms/spring-boot/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConfiguration.java
@@ -18,6 +18,8 @@ package org.apache.camel.component.aws.sqs.springboot;
 
 import javax.annotation.Generated;
 import com.amazonaws.services.sqs.AmazonSQS;
+import org.apache.camel.component.aws.sqs.MessageDeduplicationIdStrategy;
+import org.apache.camel.component.aws.sqs.MessageGroupIdStrategy;
 import org.apache.camel.component.aws.sqs.SqsOperations;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -261,7 +263,7 @@ public class SqsComponentConfiguration
          * *useExchangeId*, *usePropertyValue*. For the *usePropertyValue*
          * option, the value of property "CamelAwsMessageGroupId" will be used.
          */
-        private String messageGroupIdStrategy;
+        private MessageGroupIdStrategy messageGroupIdStrategy;
         /**
          * Only for FIFO queues. Strategy for setting the 
messageDeduplicationId
          * on the message. Can be one of the following options: 
*useExchangeId*,
@@ -269,7 +271,7 @@ public class SqsComponentConfiguration
          * *useContentBasedDeduplication* option, no messageDeduplicationId 
will
          * be set on the message.
          */
-        private String messageDeduplicationIdStrategy = "useExchangeId";
+        private MessageDeduplicationIdStrategy messageDeduplicationIdStrategy;
         /**
          * The operation to do in case the user don't want to send only a
          * message
@@ -515,20 +517,21 @@ public class SqsComponentConfiguration
             this.serverSideEncryptionEnabled = serverSideEncryptionEnabled;
         }
 
-        public String getMessageGroupIdStrategy() {
+        public MessageGroupIdStrategy getMessageGroupIdStrategy() {
             return messageGroupIdStrategy;
         }
 
-        public void setMessageGroupIdStrategy(String messageGroupIdStrategy) {
+        public void setMessageGroupIdStrategy(
+                MessageGroupIdStrategy messageGroupIdStrategy) {
             this.messageGroupIdStrategy = messageGroupIdStrategy;
         }
 
-        public String getMessageDeduplicationIdStrategy() {
+        public MessageDeduplicationIdStrategy 
getMessageDeduplicationIdStrategy() {
             return messageDeduplicationIdStrategy;
         }
 
         public void setMessageDeduplicationIdStrategy(
-                String messageDeduplicationIdStrategy) {
+                MessageDeduplicationIdStrategy messageDeduplicationIdStrategy) 
{
             this.messageDeduplicationIdStrategy = 
messageDeduplicationIdStrategy;
         }
 

Reply via email to