0

我想从某个位置读取文件,提取文件名并使用文件名作为请求参数进行休息调用(GET)。文件名需要动态传递,因为每个文件都是唯一的。在完成教程后,我使用了 toD() 。下面提供了高级伪代码(我只对来自此调用的状态代码感兴趣。在此之后需要进一步的操作。)。

我现在使用 toD() 面临的问题是它在进行 Get 服务调用后进入了无限循环。

如何处理这个问题?感谢您的建议!

from("file:C:/inbound?delete=true&noop=true")
    .process(new Processor() {
        public void process(Exchange exchange) throws Exception {
            String fileName = exchange.getIn().getHeader("CamelFileName").toString();
            exchange.getIn().setHeader("fileName", fileName);
        }
    })
    .setHeader(Exchange.HTTP_METHOD, simple("GET"))
    .toD("http://localhost:8090/fileWatcher?fileName=${header.fileName}")

这是一个在端口 8090 上运行的简单 Get 端点模型:

@RequestMapping(value = "/fileWatcher", method = RequestMethod.GET)
public ResponseEntity<FileDetails> firstService(@RequestParam String fileName) {
    return new ResponseEntity<>(HttpStatus.OK);
}
4

0 回答 0