Camel RX 不会删除从 S3 消耗的对象

Camel RX is not deleting objects consumed from S3

如果我使用 RouteBuilder:

配置 Camel
context.addRoutes(new RouteBuilder() {
    @Override
    public void configure() throws Exception {
        from("aws-s3://my-bucket?accessKey=******&secretKey=******")
                .to("stream:out");
    }
});

然后 my-bucket 中的每个对象都被消耗,然后立即删除。

但是如果我使用 Camel RX:

new ReactiveCamel(context).toObservable("aws-s3://my-bucket?accessKey=*****&secretKey=*****", String.class)
        .subscribe(System.out::println);

我发现对象永远不会被删除,相同的对象会不断被消耗。

S3Consumer 似乎有一个 'OnCompletion' callback,它将在对象被消耗后删除它。只有在使用 RouteBuilder 方法时才会调用回调。

我希望这两种方法的工作方式相似,但很明显我遗漏了一些东西。是否可以让 'reactive approach' 在对象被消耗后将其删除?

编辑: 我正在使用 Camel 2.15.2。

啊,是的,感谢您发现这一点。这是 camel-rx 中的一个错误,我已经记录了一张票来解决这个问题:https://issues.apache.org/jira/browse/CAMEL-8747

使用 camel-rx 时未启用 UoW。