Java Camel AWS SNS例外
我正在尝试使用ApacheCamel通过使用camel SNS库发送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")
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”)
我看到了2to
调用,但是第一个没有右括号谢谢,它的固定@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)