Camel AWS SNS例外
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Camel AWS SNS例外相关的知识,希望对你有一定的参考价值。
我正在尝试使用camel sns库使用Apache camel发送SNS。
我使用了http://camel.apache.org/aws-sns.html找到的文档
它说我需要定义一个客户端,然后将其绑定到注册表。因此我使用此代码完成了此操作:
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:>>> To [aws-sns:// arn:aws:sns:eu-west-1:xxxxxx?amazonSNSClient =#client] <<< in route:Route(route1)[[From [sftp:// xxxxxxxx ...因为无法解析端点:aws-sns:// arn:aws:sns:eu-west-1:xxxxxxxx?amazonSNSClient =%23client由于:找不到合适的setter for property:amazonSNSClient,因为没有相同类型的setter方法:java.lang.String也没有类型转换:没有类型转换器可用于从类型:java.lang.String转换为所需类型:com.amazonaws.services。 sns.AmazonSNS的值为#client
除此之外,我还尝试使用以下骆驼路线发送sns
.to("aws-sns://"+topicArn+"?accessKey="+accessKey+"&secretKey="+secretKey+"&amazonSNSEndpoint="+snsEndpoint)
但是它告诉我虽然我的snsEnpoint设置为-sns.eu-west-1.amazonaws.com
,但没有提供任何区域
任何人都知道为什么我不能以任何方式使用骆驼发送sns我尝试?
提前致谢
你绑定一个AmazonS3Client
,但它需要一个AmazonSNSClient
。
Camel无法将对AmazonS3Client
的引用转换为AmazonSNSClient
的实例。
见http://camel.apache.org/aws-sns.html#AWS-SNS-AdvancedAmazonSNSconfiguration
以上是关于Camel AWS SNS例外的主要内容,如果未能解决你的问题,请参考以下文章