了解 Amazon SQS 的 Apache Camel 路由
Understanding Apache Camel routing for Amazon SQS
我有一个 SQS 队列。我要完成的 objective 是根据消息属性过滤消息,如果符合过滤条件则将其删除。所以我在 Java 中有一个函数看起来像这样
public String getUri(){
String uri = String.format("aws-sqs://%s?accessKey=%s&secretKey=%s&attributeNames=test&deleteIfFiltered=true",queueUrl,key,secret)
return uri;
}
Post这个我调用这个函数
public Builder extends RouteBuilder{
@Override
public void configure(){
try{
from(getUri())
.setHeader()
...
}
}
看起来正在构建的路由无法删除消息。
您需要按照文档中的说明进行操作:https://camel.apache.org/components/latest/aws2-sqs-component.html
关于 deleteIfFiltered 选项。
您需要将密钥 CamelAwsSqsDeleteFiltered
的交换 属性(不是 header)设置为 true
。
查看文档和这个例子:
https://camel.apache.org/components/latest/aws2-sqs-component.html#_jms_style_selectors
我有一个 SQS 队列。我要完成的 objective 是根据消息属性过滤消息,如果符合过滤条件则将其删除。所以我在 Java 中有一个函数看起来像这样
public String getUri(){
String uri = String.format("aws-sqs://%s?accessKey=%s&secretKey=%s&attributeNames=test&deleteIfFiltered=true",queueUrl,key,secret)
return uri;
}
Post这个我调用这个函数
public Builder extends RouteBuilder{
@Override
public void configure(){
try{
from(getUri())
.setHeader()
...
}
}
看起来正在构建的路由无法删除消息。
您需要按照文档中的说明进行操作:https://camel.apache.org/components/latest/aws2-sqs-component.html
关于 deleteIfFiltered 选项。
您需要将密钥 CamelAwsSqsDeleteFiltered
的交换 属性(不是 header)设置为 true
。
查看文档和这个例子: https://camel.apache.org/components/latest/aws2-sqs-component.html#_jms_style_selectors