【问题标题】:Understanding Apache Camel routing for Amazon SQS了解 Amazon SQS 的 Apache Camel 路由
【发布时间】:2021-08-26 11:07:37
【问题描述】:

我有一个 SQS 队列。我希望完成的目标是根据消息属性过滤消息,如果它与过滤条件匹配,则将其删除。所以我在Java中有一个看起来像这样的函数

public String getUri(){
    String uri = String.format("aws-sqs://%s?accessKey=%s&secretKey=%s&attributeNames=test&deleteIfFiltered=true",queueUrl,key,secret)
    return uri;
}

发布这个我正在调用这个函数

public Builder extends RouteBuilder{

    @Override
    public void configure(){
        try{
            from(getUri())
            .setHeader()
            ...
        }

    }

看起来正在构建的路由无法删除消息。

【问题讨论】:

    标签: apache-camel apache-camel-aws


    【解决方案1】:

    您需要按照文档中的说明进行操作:https://camel.apache.org/components/latest/aws2-sqs-component.html

    关于 deleteIfFiltered 选项。

    您需要将带有键CamelAwsSqsDeleteFiltered 的交换属性(不是标题)设置为true

    请参阅文档和此示例: https://camel.apache.org/components/latest/aws2-sqs-component.html#_jms_style_selectors

    【讨论】:

    • 由于限制,我仍在使用骆驼 2.7。我相信我不能在那里设置属性
    猜你喜欢
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 2018-02-14
    • 2014-05-23
    相关资源
    最近更新 更多