You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/08/14 11:03:03 UTC
[camel] branch main updated: CAMEL-19737: Updates aws2-sns queueUrl to queueArn (#11101)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new ae646bc91e1 CAMEL-19737: Updates aws2-sns queueUrl to queueArn (#11101)
ae646bc91e1 is described below
commit ae646bc91e174ba2f483ff8414d974e28b43ed3a
Author: Marco Carletti <mc...@redhat.com>
AuthorDate: Mon Aug 14 13:02:56 2023 +0200
CAMEL-19737: Updates aws2-sns queueUrl to queueArn (#11101)
---
.../org/apache/camel/catalog/components/aws2-sns.json | 4 ++--
.../component/aws2/sns/Sns2ComponentConfigurer.java | 12 ++++++------
.../component/aws2/sns/Sns2EndpointConfigurer.java | 12 ++++++------
.../component/aws2/sns/Sns2EndpointUriFactory.java | 2 +-
.../org/apache/camel/component/aws2/sns/aws2-sns.json | 4 ++--
.../camel/component/aws2/sns/Sns2Configuration.java | 12 ++++++------
.../apache/camel/component/aws2/sns/Sns2Endpoint.java | 4 ++--
.../aws2/sns/SnsComponentConfigurationTest.java | 4 ++--
.../integration/SnsTopicProducerWithSubscriptionIT.java | 11 +++++++----
.../modules/ROOT/pages/camel-4x-upgrade-guide-4_1.adoc | 17 +++++++++++++++++
.../component/dsl/Aws2SnsComponentBuilderFactory.java | 4 ++--
11 files changed, 53 insertions(+), 33 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sns.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sns.json
index 12d78109a4f..b2c2e9eca10 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sns.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sns.json
@@ -31,7 +31,7 @@
"messageStructure": { "index": 6, "kind": "property", "displayName": "Message Structure", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The message structure to use such as json" },
"overrideEndpoint": { "index": 7, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Set the need for overidding the endpoint. This option needs to be used in combination wi [...]
"policy": { "index": 8, "kind": "property", "displayName": "Policy", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The policy for this topic. Is loaded by default from classpath, but you [...]
- "queueUrl": { "index": 9, "kind": "property", "displayName": "Queue Url", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The queueUrl to subscribe to" },
+ "queueArn": { "index": 9, "kind": "property", "displayName": "Queue Arn", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The ARN endpoint to subscribe to" },
"region": { "index": 10, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The region in which SNS client needs to work. When using this parameter, the configuration will expect the lowercase name o [...]
"serverSideEncryptionEnabled": { "index": 11, "kind": "property", "displayName": "Server Side Encryption Enabled", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the topic" },
"subject": { "index": 12, "kind": "property", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSnsSubject' is not present." },
@@ -66,7 +66,7 @@
"messageStructure": { "index": 6, "kind": "parameter", "displayName": "Message Structure", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The message structure to use such as json" },
"overrideEndpoint": { "index": 7, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Set the need for overidding the endpoint. This option needs to be used in combination w [...]
"policy": { "index": 8, "kind": "parameter", "displayName": "Policy", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The policy for this topic. Is loaded by default from classpath, but yo [...]
- "queueUrl": { "index": 9, "kind": "parameter", "displayName": "Queue Url", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The queueUrl to subscribe to" },
+ "queueArn": { "index": 9, "kind": "parameter", "displayName": "Queue Arn", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The ARN endpoint to subscribe to" },
"region": { "index": 10, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The region in which SNS client needs to work. When using this parameter, the configuration will expect the lowercase name [...]
"serverSideEncryptionEnabled": { "index": 11, "kind": "parameter", "displayName": "Server Side Encryption Enabled", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the topic" },
"subject": { "index": 12, "kind": "parameter", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSnsSubject' is not present." },
diff --git a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2ComponentConfigurer.java b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2ComponentConfigurer.java
index a97c05f8b5d..0e27d28e3e5 100644
--- a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2ComponentConfigurer.java
+++ b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2ComponentConfigurer.java
@@ -62,8 +62,8 @@ public class Sns2ComponentConfigurer extends PropertyConfigurerSupport implement
case "proxyPort": getOrCreateConfiguration(target).setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
case "proxyprotocol":
case "proxyProtocol": getOrCreateConfiguration(target).setProxyProtocol(property(camelContext, software.amazon.awssdk.core.Protocol.class, value)); return true;
- case "queueurl":
- case "queueUrl": getOrCreateConfiguration(target).setQueueUrl(property(camelContext, java.lang.String.class, value)); return true;
+ case "queuearn":
+ case "queueArn": getOrCreateConfiguration(target).setQueueArn(property(camelContext, java.lang.String.class, value)); return true;
case "region": getOrCreateConfiguration(target).setRegion(property(camelContext, java.lang.String.class, value)); return true;
case "secretkey":
case "secretKey": getOrCreateConfiguration(target).setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
@@ -126,8 +126,8 @@ public class Sns2ComponentConfigurer extends PropertyConfigurerSupport implement
case "proxyPort": return java.lang.Integer.class;
case "proxyprotocol":
case "proxyProtocol": return software.amazon.awssdk.core.Protocol.class;
- case "queueurl":
- case "queueUrl": return java.lang.String.class;
+ case "queuearn":
+ case "queueArn": return java.lang.String.class;
case "region": return java.lang.String.class;
case "secretkey":
case "secretKey": return java.lang.String.class;
@@ -186,8 +186,8 @@ public class Sns2ComponentConfigurer extends PropertyConfigurerSupport implement
case "proxyPort": return getOrCreateConfiguration(target).getProxyPort();
case "proxyprotocol":
case "proxyProtocol": return getOrCreateConfiguration(target).getProxyProtocol();
- case "queueurl":
- case "queueUrl": return getOrCreateConfiguration(target).getQueueUrl();
+ case "queuearn":
+ case "queueArn": return getOrCreateConfiguration(target).getQueueArn();
case "region": return getOrCreateConfiguration(target).getRegion();
case "secretkey":
case "secretKey": return getOrCreateConfiguration(target).getSecretKey();
diff --git a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointConfigurer.java b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointConfigurer.java
index 8346020ba95..ad8b9a1dbd4 100644
--- a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointConfigurer.java
+++ b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointConfigurer.java
@@ -50,8 +50,8 @@ public class Sns2EndpointConfigurer extends PropertyConfigurerSupport implements
case "proxyPort": target.getConfiguration().setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
case "proxyprotocol":
case "proxyProtocol": target.getConfiguration().setProxyProtocol(property(camelContext, software.amazon.awssdk.core.Protocol.class, value)); return true;
- case "queueurl":
- case "queueUrl": target.getConfiguration().setQueueUrl(property(camelContext, java.lang.String.class, value)); return true;
+ case "queuearn":
+ case "queueArn": target.getConfiguration().setQueueArn(property(camelContext, java.lang.String.class, value)); return true;
case "region": target.getConfiguration().setRegion(property(camelContext, java.lang.String.class, value)); return true;
case "secretkey":
case "secretKey": target.getConfiguration().setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
@@ -109,8 +109,8 @@ public class Sns2EndpointConfigurer extends PropertyConfigurerSupport implements
case "proxyPort": return java.lang.Integer.class;
case "proxyprotocol":
case "proxyProtocol": return software.amazon.awssdk.core.Protocol.class;
- case "queueurl":
- case "queueUrl": return java.lang.String.class;
+ case "queuearn":
+ case "queueArn": return java.lang.String.class;
case "region": return java.lang.String.class;
case "secretkey":
case "secretKey": return java.lang.String.class;
@@ -164,8 +164,8 @@ public class Sns2EndpointConfigurer extends PropertyConfigurerSupport implements
case "proxyPort": return target.getConfiguration().getProxyPort();
case "proxyprotocol":
case "proxyProtocol": return target.getConfiguration().getProxyProtocol();
- case "queueurl":
- case "queueUrl": return target.getConfiguration().getQueueUrl();
+ case "queuearn":
+ case "queueArn": return target.getConfiguration().getQueueArn();
case "region": return target.getConfiguration().getRegion();
case "secretkey":
case "secretKey": return target.getConfiguration().getSecretKey();
diff --git a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointUriFactory.java b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointUriFactory.java
index a069b071bae..8e761cb6bfc 100644
--- a/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointUriFactory.java
+++ b/components/camel-aws/camel-aws2-sns/src/generated/java/org/apache/camel/component/aws2/sns/Sns2EndpointUriFactory.java
@@ -37,7 +37,7 @@ public class Sns2EndpointUriFactory extends org.apache.camel.support.component.E
props.add("proxyHost");
props.add("proxyPort");
props.add("proxyProtocol");
- props.add("queueUrl");
+ props.add("queueArn");
props.add("region");
props.add("secretKey");
props.add("serverSideEncryptionEnabled");
diff --git a/components/camel-aws/camel-aws2-sns/src/generated/resources/org/apache/camel/component/aws2/sns/aws2-sns.json b/components/camel-aws/camel-aws2-sns/src/generated/resources/org/apache/camel/component/aws2/sns/aws2-sns.json
index 12d78109a4f..b2c2e9eca10 100644
--- a/components/camel-aws/camel-aws2-sns/src/generated/resources/org/apache/camel/component/aws2/sns/aws2-sns.json
+++ b/components/camel-aws/camel-aws2-sns/src/generated/resources/org/apache/camel/component/aws2/sns/aws2-sns.json
@@ -31,7 +31,7 @@
"messageStructure": { "index": 6, "kind": "property", "displayName": "Message Structure", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The message structure to use such as json" },
"overrideEndpoint": { "index": 7, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Set the need for overidding the endpoint. This option needs to be used in combination wi [...]
"policy": { "index": 8, "kind": "property", "displayName": "Policy", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The policy for this topic. Is loaded by default from classpath, but you [...]
- "queueUrl": { "index": 9, "kind": "property", "displayName": "Queue Url", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The queueUrl to subscribe to" },
+ "queueArn": { "index": 9, "kind": "property", "displayName": "Queue Arn", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The ARN endpoint to subscribe to" },
"region": { "index": 10, "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The region in which SNS client needs to work. When using this parameter, the configuration will expect the lowercase name o [...]
"serverSideEncryptionEnabled": { "index": 11, "kind": "property", "displayName": "Server Side Encryption Enabled", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the topic" },
"subject": { "index": 12, "kind": "property", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSnsSubject' is not present." },
@@ -66,7 +66,7 @@
"messageStructure": { "index": 6, "kind": "parameter", "displayName": "Message Structure", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The message structure to use such as json" },
"overrideEndpoint": { "index": 7, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Set the need for overidding the endpoint. This option needs to be used in combination w [...]
"policy": { "index": 8, "kind": "parameter", "displayName": "Policy", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The policy for this topic. Is loaded by default from classpath, but yo [...]
- "queueUrl": { "index": 9, "kind": "parameter", "displayName": "Queue Url", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The queueUrl to subscribe to" },
+ "queueArn": { "index": 9, "kind": "parameter", "displayName": "Queue Arn", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The ARN endpoint to subscribe to" },
"region": { "index": 10, "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The region in which SNS client needs to work. When using this parameter, the configuration will expect the lowercase name [...]
"serverSideEncryptionEnabled": { "index": 11, "kind": "parameter", "displayName": "Server Side Encryption Enabled", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the topic" },
"subject": { "index": 12, "kind": "parameter", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sns.Sns2Configuration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSnsSubject' is not present." },
diff --git a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
index 2b2a07f8dd2..30062770ee0 100644
--- a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
+++ b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Configuration.java
@@ -45,7 +45,7 @@ public class Sns2Configuration implements Cloneable {
@UriParam(label = "proxy")
private Integer proxyPort;
@UriParam
- private String queueUrl;
+ private String queueArn;
@UriParam
private boolean subscribeSNStoSQS;
@UriParam
@@ -217,15 +217,15 @@ public class Sns2Configuration implements Cloneable {
this.region = region;
}
- public String getQueueUrl() {
- return queueUrl;
+ public String getQueueArn() {
+ return queueArn;
}
/**
- * The queueUrl to subscribe to
+ * The ARN endpoint to subscribe to
*/
- public void setQueueUrl(String queueUrl) {
- this.queueUrl = queueUrl;
+ public void setQueueArn(String queueArn) {
+ this.queueArn = queueArn;
}
public boolean isSubscribeSNStoSQS() {
diff --git a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
index ec1c674d8f9..d2ec93a3f1a 100644
--- a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
+++ b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java
@@ -178,9 +178,9 @@ public class Sns2Endpoint extends DefaultEndpoint implements HeaderFilterStrateg
}
if (configuration.isSubscribeSNStoSQS()) {
- if (ObjectHelper.isNotEmpty(ObjectHelper.isNotEmpty(configuration.getQueueUrl()))) {
+ if (ObjectHelper.isNotEmpty(ObjectHelper.isNotEmpty(configuration.getQueueArn()))) {
SubscribeResponse resp = snsClient.subscribe(SubscribeRequest.builder().topicArn(configuration.getTopicArn())
- .protocol("sqs").endpoint(configuration.getQueueUrl())
+ .protocol("sqs").endpoint(configuration.getQueueArn())
.returnSubscriptionArn(true).build());
LOG.trace("Subscription of SQS Queue to SNS Topic done with Amazon resource name: {}", resp.subscriptionArn());
} else {
diff --git a/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/SnsComponentConfigurationTest.java b/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/SnsComponentConfigurationTest.java
index b98097a557a..e910c4478e7 100644
--- a/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/SnsComponentConfigurationTest.java
+++ b/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/SnsComponentConfigurationTest.java
@@ -132,12 +132,12 @@ public class SnsComponentConfigurationTest extends CamelTestSupport {
context.getRegistry().bind("amazonSNSClient", mock);
Sns2Component component = context.getComponent("aws2-sns", Sns2Component.class);
Sns2Endpoint endpoint = (Sns2Endpoint) component.createEndpoint("aws2-sns://MyTopic?amazonSNSClient=#amazonSNSClient&"
- + "accessKey=xxx&secretKey=yyy&queueUrl=arn:aws:sqs:us-east-1:541925086079:MyQueue&subscribeSNStoSQS=true");
+ + "accessKey=xxx&secretKey=yyy&queueArn=arn:aws:sqs:us-east-1:541925086079:MyQueue&subscribeSNStoSQS=true");
assertEquals("MyTopic", endpoint.getConfiguration().getTopicName());
assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
- assertEquals("arn:aws:sqs:us-east-1:541925086079:MyQueue", endpoint.getConfiguration().getQueueUrl());
+ assertEquals("arn:aws:sqs:us-east-1:541925086079:MyQueue", endpoint.getConfiguration().getQueueArn());
assertNotNull(endpoint.getConfiguration().getAmazonSNSClient());
assertNull(endpoint.getConfiguration().getTopicArn());
assertNull(endpoint.getConfiguration().getSubject());
diff --git a/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/integration/SnsTopicProducerWithSubscriptionIT.java b/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/integration/SnsTopicProducerWithSubscriptionIT.java
index 397ebe82929..372b7328528 100644
--- a/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/integration/SnsTopicProducerWithSubscriptionIT.java
+++ b/components/camel-aws/camel-aws2-sns/src/test/java/org/apache/camel/component/aws2/sns/integration/SnsTopicProducerWithSubscriptionIT.java
@@ -26,7 +26,6 @@ import org.apache.camel.component.aws2.sns.Sns2Constants;
import org.apache.camel.test.infra.aws2.clients.AWSSDKClientUtils;
import org.apache.camel.test.infra.common.SharedNameGenerator;
import org.apache.camel.test.infra.common.TestEntityNameGenerator;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.slf4j.Logger;
@@ -36,6 +35,7 @@ import software.amazon.awssdk.services.sqs.model.CreateQueueRequest;
import software.amazon.awssdk.services.sqs.model.GetQueueUrlRequest;
import software.amazon.awssdk.services.sqs.model.GetQueueUrlResponse;
import software.amazon.awssdk.services.sqs.model.Message;
+import software.amazon.awssdk.services.sqs.model.QueueAttributeName;
import software.amazon.awssdk.services.sqs.model.QueueDoesNotExistException;
import software.amazon.awssdk.services.sqs.model.ReceiveMessageRequest;
import software.amazon.awssdk.services.sqs.model.ReceiveMessageResponse;
@@ -43,7 +43,6 @@ import software.amazon.awssdk.services.sqs.model.ReceiveMessageResponse;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-@Disabled("Need to review this later for localstack 2.x upgrade")
public class SnsTopicProducerWithSubscriptionIT extends Aws2SNSBase {
@RegisterExtension
public static SharedNameGenerator sharedNameGenerator = new TestEntityNameGenerator();
@@ -51,6 +50,7 @@ public class SnsTopicProducerWithSubscriptionIT extends Aws2SNSBase {
private static final Logger LOG = LoggerFactory.getLogger(SnsTopicProducerWithSubscriptionIT.class);
private String sqsQueueUrl;
+ private String sqsQueueArn;
private SqsClient client;
public List<Message> receive() {
@@ -102,6 +102,9 @@ public class SnsTopicProducerWithSubscriptionIT extends Aws2SNSBase {
sqsQueueUrl = client.createQueue(createQueueRequest).queueUrl();
}
+ sqsQueueArn = client.getQueueAttributes(b -> b.queueUrl(sqsQueueUrl)
+ .attributeNames(QueueAttributeName.QUEUE_ARN))
+ .attributes().get(QueueAttributeName.QUEUE_ARN);
}
@Test
@@ -128,8 +131,8 @@ public class SnsTopicProducerWithSubscriptionIT extends Aws2SNSBase {
@Override
public void configure() {
from("direct:start")
- .toF("aws2-sns://%s?subject=The+subject+message&autoCreateTopic=true&subscribeSNStoSQS=true&queueUrl=%s",
- sharedNameGenerator.getName(), sqsQueueUrl);
+ .toF("aws2-sns://%s?subject=The+subject+message&autoCreateTopic=true&subscribeSNStoSQS=true&queueArn=%s",
+ sharedNameGenerator.getName(), sqsQueueArn);
}
};
}
diff --git a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_1.adoc b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_1.adoc
index ea64d971ffe..41523b0a9c2 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_1.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_1.adoc
@@ -72,3 +72,20 @@ from("direct:listActivities")
.to("aws2-step-functions://test?awsSfnClient=#awsSfnClient&operation=listActivities")
----
+=== camel-aws2-sns
+
+The `queueUrl` parameter has been replaced by the `queueArn` parameter
+
+For Example before
+
+----
+from("direct:start")
+ .to("aws2-sns://mytopic?subject=mySubject&autoCreateTopic=true&subscribeSNStoSQS=true&queueUrl=https://xxxx")
+----
+
+Should be changed to
+
+----
+from("direct:start")
+ .to("aws2-sns://mytopic?subject=mySubject&autoCreateTopic=true&subscribeSNStoSQS=true&queueArn=arn:aws:sqs:xxxxx")
+----
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SnsComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SnsComponentBuilderFactory.java
index 10c71825d74..44e32b2b7d5 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SnsComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SnsComponentBuilderFactory.java
@@ -549,7 +549,7 @@ public interface Aws2SnsComponentBuilderFactory {
case "messageStructure": getOrCreateConfiguration((Sns2Component) component).setMessageStructure((java.lang.String) value); return true;
case "overrideEndpoint": getOrCreateConfiguration((Sns2Component) component).setOverrideEndpoint((boolean) value); return true;
case "policy": getOrCreateConfiguration((Sns2Component) component).setPolicy((java.lang.String) value); return true;
- case "queueUrl": getOrCreateConfiguration((Sns2Component) component).setQueueUrl((java.lang.String) value); return true;
+ case "queueArn": getOrCreateConfiguration((Sns2Component) component).setQueueArn((java.lang.String) value); return true;
case "region": getOrCreateConfiguration((Sns2Component) component).setRegion((java.lang.String) value); return true;
case "serverSideEncryptionEnabled": getOrCreateConfiguration((Sns2Component) component).setServerSideEncryptionEnabled((boolean) value); return true;
case "subject": getOrCreateConfiguration((Sns2Component) component).setSubject((java.lang.String) value); return true;
@@ -572,4 +572,4 @@ public interface Aws2SnsComponentBuilderFactory {
}
}
}
-}
\ No newline at end of file
+}