我的DSL启动是这样的:
from("aws-s3://" + s3_bucket_name + "?amazonS3Client=#amazonS3Client&deleteAfterRead=false&fileName=myfile.csv")
在此之后,我将每一行转换为JSON文件并转储到本地目录。
问题是它继续这样做,就像陷入无限循环一样。
知道如何处理文件一次然后停止吗?
答案 0 :(得分:1)
您可以阅读此常见问题解答,了解如何从路线中停止路线:http://camel.apache.org/how-can-i-stop-a-route-from-a-route.html
或者使用ConsumerTemplate
仅使用{{1}}轮询s3file而不是路由。
答案 1 :(得分:0)
您可以使用Idempotent Consumer
from("aws-s3://" + s3_bucket_name + "?amazonS3Client=#amazonS3Client&deleteAfterRead=false&fileName=myfile.csv")
.idempotentConsumer(header("CamelAwsS3Key"), idempotentRepository)
您可以根据上述链接中提到的需要提供idempotentRepository的实现。