Java Camel AWS SNS例外

Java Camel AWS SNS例外,java,amazon-web-services,apache-camel,amazon-sns,Java,Amazon Web Services,Apache Camel,Amazon Sns,我正在尝试使用ApacheCamel通过使用camel SNS库发送SNS 我使用了这里的文档 它说我需要定义一个客户端,然后将它绑定到注册表。因此,我使用以下代码完成了此操作: BasicAWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey); AmazonS3 client = AmazonS3Client.builder().withRegion("eu-west-1")

我正在尝试使用ApacheCamel通过使用camel SNS库发送SNS

我使用了这里的文档

它说我需要定义一个客户端,然后将它绑定到注册表。因此,我使用以下代码完成了此操作:

BasicAWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 client = AmazonS3Client.builder().withRegion("eu-west-1")
                        .withCredentials(new AWSStaticCredentialsProvider(creds))
                        .build();

CamelContext context = new DefaultCamelContext();
            JndiRegistry registry = (JndiRegistry) ((PropertyPlaceholderDelegateRegistry)context.getRegistry()).getRegistry();
            registry.bind("client", client);
接下来,在我的骆驼路线内,我将执行此操作

from(mySftp.getUri("/camel"))
to("aws-sns://"+topicArn+"?amazonSNSClient=#client")
使用此代码,我得到以下错误-

无法在以下位置创建路由route1:>>> 至[aws-sns://arn:aws:sns:eu-west-1:xxxxxx?亚马逊客户=#客户]
您正在绑定一个
AmazonSClient
,但它需要一个
AmazonSClient

Camel无法将对
AmazonSClient
的引用转换为
AmazonSClient
的实例


请参见

您正在绑定一个
AmazonSClient
,但它需要一个
AmazonSClient

Camel无法将对
AmazonSClient
的引用转换为
AmazonSClient
的实例


请参见

我猜您为route builder提供的示例中存在剪切粘贴错误。请你把它修好,确保我们能看到你的确切密码好吗?i、 e.在
中从(mySftp.getUri(“/camel”)。到(“aws sns://“+topicArn+”?)。到(“aws sns://“+topicArn+”?AmazonSClient=#客户端”)
我看到了2个
。to
调用,但是第一个没有右括号谢谢,它是固定的@DavideCavestroI。我猜在您为route builder提供的示例中有一个剪切粘贴错误。请您修复它,以确保我们看到您的确切代码吗?例如,在
from(myftp.getUri(“/camel”).to(“aws sns://“+topicArn+”?.to(“aws sns://”)中+topicArn+“?amazonsclient=#client”)
我看到了2
to
调用,但是第一个没有右括号谢谢,它的固定@davidecavestronic没有注意到它是S3类型。谢谢。也就是说,将代码更改为
BasicAWSCredentials creds=new BasicAWSCredentials(accessKey,secretKey);ClientConfiguration ClientConfiguration=new ClientConfiguration();AmazonS客户端=new AmazonSClient(creds,ClientConfiguration);
没有任何效果。我收到相同的错误“没有类型转换器可用于将类型:java.lang.String转换为所需类型:com.amazonaws.services.sns.amazonS with value client”你确定在执行routeBuilder之前bean已经绑定到注册表了吗?你把
注册表.绑定…
东西放在哪里了?嗨,Davide,这对我来说似乎很好。
BasicAWSCredentials creds=new BasicAWSCredentials(accessKey,secretKey);AmazonSNS client=amazonsclient.builder()。with region(“eu-west-1”).withCredentials(新的AWSStaticCredentialsProvider(creds)).build();
感谢您的帮助Nice没有注意到它是S3类型。谢谢。尽管如此,将代码更改为
BasicAWSCredentials creds=new BasicAWSCredentials(accessKey,secretKey);ClientConfiguration ClientConfiguration=new ClientConfiguration();AmazonS客户端=new AmazonSClient(creds,ClientConfiguration);
没有任何效果。我收到相同的错误“没有类型转换器可用于将类型:java.lang.String转换为所需类型:com.amazonaws.services.sns.amazonS with value client”你确定在执行routeBuilder之前bean已经绑定到注册表了吗?你把
注册表.绑定…
东西放在哪里了?嗨,Davide,这对我来说似乎很好。
BasicAWSCredentials creds=new BasicAWSCredentials(accessKey,secretKey);AmazonSNS client=amazonsclient.builder()。with region(“eu-west-1”).withCredentials(新的AWSStaticCredentialsProvider(creds)).build();
感谢您的帮助
.to("aws-sns://"+topicArn+"?accessKey="+accessKey+"&secretKey="+secretKey+"&amazonSNSEndpoint="+snsEndpoint)