问题标签 [bindy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
199 浏览

csv - 空 @Link 字段不在 CSV 中,缺少列

我正在尝试生成一个包含来自多个实体的字段的 CSV 文件。在我的骆驼路线中,我的实体有一个 BindyCsvDataFormat。但是,如果 SubEntity 为 null,则 SubEntity 字段不会作为“”导出到 CSV 文件。所以某些行缺少列。MainEntity 中的 Null 值导出为“”。当 SubEntity 为空时,如何配置 Bindy 以将 SubEntity 列导出为“”?

实体像这样链接在一起:

0 投票
1 回答
576 浏览

java - Camel Bindy:如何忽略最后一列

我有一个 CSV 文件,我正在使用 Bindy 对其进行解析。我创建了一个包含所有 DataField 的 CsvRecord 类。现在,他们在 CSV 文件中添加了新列,我希望 Bindy 忽略它们。我怎么做?我知道我可以更改添加额外字段的代码并忽略它们,但我不想每次有人决定向输入文件添加额外列时都必须发布我的软件的新版本。谢谢!

0 投票
1 回答
732 浏览

java - Camel:使用 BindyCSVFormat 处理 CSV 文件中的动态列

我对 Apache Camel 相当陌生。

我一直在编写使用BindyCsvformat该类处理 csv 文件的路由。到目前为止,我正在处理的 CSV 文件相当简单,因为它们具有固定数量的记录。所以使用@DataField注释来定义列的位置不是问题。

但是我遇到了一个 CSV 文件,其中的列数是动态的。此 CSV 文件仅包含 1 行。

列号是动态的,基于称为“期数”的列的值。

如果“期间数”列中的值为“5”,则文件中添加了 5 个额外的列。

以下是此特定 CSV 文件中的标题示例:

样本-csv.txt

row_id, number_of_periods, result_period, result_period, result_period 0,3,0.00,10.00,10.00.

从上面的示例数据可以看出,因为“number_of_periods”列显示“3”,所以有三个“result_period”列。如果“number_of_periods”字段为 5,则将有 5 个“result_period”列。

任何人都可以帮助(或指向任何参考资料)BindyCsvFormat(通过 Camel)可以在哪里处理这个动态列映射?除非我弄错了,否则我认为@DataField注释只能应用于固定字段(假设事先知道总列数。

提前致谢。

0 投票
3 回答
1585 浏览

java - java.lang.IllegalArgumentException:缺少某些字段(可选或强制)

我正在尝试使用 Apache Camel Bindy 创建一个固定文件阅读器,但遇到异常。请帮助我找到解决方案。没有页眉和页脚,它运行良好。

更新: 文件很小,现在很难理解,并且添加了公共

文件内容:

新例外:

例外:

路由器:

模型 Java 类:

依赖项:

0 投票
0 回答
261 浏览

java - 具有复杂结构的 Camel Bindy 固定长度

我试图了解 bindy 是否能够管理一些我被要求用来为固定长度行建模的复杂结构。

我有一个具有嵌套类的模型,其中一个嵌套类自身引用了一个在父级链接的类(这完全有可能,我猜它类似于规范化)。因此,例如,您可能有一个类结构

`

`

在上述结构中,b 类对作为 A 类和 c 类的属性存在的一组数据进行建模。在我看来,这是不可能的,因为“b 类”需要对结构中的 2 个不同位置进行定义。这是正确的,这是对 Bindy 格式的限制吗?

谢谢保罗

0 投票
1 回答
1316 浏览

apache-camel - 骆驼 jdbc 和 outputClass 选项

我想从数据库中读取并创建一个 CSV 文件。为了做到这一点,我正在使用camel-jdbccamel-bindy

首先,我使用 SELECT 语句设置正文。

然后我调用 jdbc 组件

这将返回一个模型列表。模型类是

我收到以下错误:

据我了解,问题在于模型属性的命名。我尝试并工作的一种解决方案是重命名模型itemId => itemid。这会起作用,但我没有使用 Java 命名约定。

你知道如何在不重命名属性的情况下克服这个问题吗?

我也尝试了以下方法,但没有奏效。

0 投票
0 回答
80 浏览

java - Apache Camel:如何处理非入站文件

我目前有一条由特定文件夹中的文件到达触发的路线。然后使用 Bindy DataFormat 解析文件,并由 myProcessor 处理生成的对象:

现在我想改变路线,所以它是由宁静触发的直接路线。有没有办法可以继续使用 Bindy 来解析文件,或者我必须在自定义处理器中编写自己的解析器/解组器?

0 投票
2 回答
851 浏览

apache-camel - 带有分隔记录的平面文件

我正在寻找一种方法来解析包含嵌套记录的平面文件。作为一个例子,我有一个文件包含一行

最后我希望它映射到 POJO

我希望 Camel 数据格式之一支持这一点。但我似乎无法找到哪个会?

0 投票
2 回答
403 浏览

java - 如何强制 Bindy 始终返回 List?

我有以下路线:

问题是,如果我在文件中有 4 条记录,则第一组作为处理器进入,List而第二组作为单个Foo对象进入。instanceof每次发生这种情况时,我都必须检查正文并创建一个列表。

Foo班级:

文件内容:

有没有办法强制Bindy总是解组为 a List

0 投票
1 回答
281 浏览

apache-camel - 如何在绑定组件中停止在单个文件中生成多个时间标题列?

您好,我正在使用骆驼绑定组件处理 CSV 文件,在该文件中,我将数据拆分为 1000 行块,并为每个块生成标题列,我需要它应该只用单个文件生成一次。我的路线:

还有我的 OutputCSV.java pojo

我的问题是如何制作此代码,以便为单个文件生成一次标题?