gpt4 book ai didi

java - Apache Camel : How to look inside body to determine file format

转载 作者:行者123 更新时间:2023-12-01 18:51:18 25 4
gpt4 key购买 nike

我们收到 .csv 文件(通过 ftp 和电子邮件),每个文件都可以是几种不同格式之一(可以通过查看文件的顶行来确定)。我对 Apache Camel 相当陌生,但想要实现一个基于内容的路由器并将每个路由器解码到相关的类。

我当前的解决方案是将文件分解为字符串列表,手动使用第一行确定文件类型,然后使用其余字符串创建相关实体实例。

有没有更干净、更好的方法?

最佳答案

您可以使用POJO to implement the type check以最适合您的文件的方式。

public String checkFileType(@Body File file) {
return determineFileType(file);
}

private String determineFileType(File file) {...}

像这样,您可以通过将文件类型检查和处理的任何其他部分分开来保持路线干净。因为文件类型检查只是元数据丰富。

例如,您可以只是 set the return value as a message header通过调用 bean)

.setHeader("fileType", method(fileTypeChecker))

然后你就可以 route the files according to type通过使用消息头可以轻松实现。

.choice()
.when(header("fileType").isEqualTo("foo"))
...

关于java - Apache Camel : How to look inside body to determine file format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59734303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com