问题标签 [bean-io]

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 投票
2 回答
3922 浏览

java - 多行一条记录,只有第一个带有 RID

我是使用 BeanIO 2.1 的新手,我又遇到了一个问题。

我正在尝试解码一个固定长度的文件,该文件的一些记录分布在几行上,其中“rid”仅标记在这些行的第一行

例子:

如您所见,记录 ':11:' 分布在 3 行中。我想将这些行作为字符串列表获取,其中的 rid ':11:' 将被忽略。

这是 mapping.xml 文件:

结果,异常UnexpectedRecordException:

org.beanio.UnexpectedRecordException:到达流结束,预期记录'ownerInformation'

再次感谢你帮助我

0 投票
1 回答
1562 浏览

etl - 如何使用 BeanIO 处理多行定长文件

我对 BeanIO 很陌生,它解决了我的大部分问题,但我无法弄清楚如何解决这个问题:

我有以下格式的多行固定宽度文件:

基本上有一个页眉和页脚,我可以很容易地阅读它们,因为它们定义明确。然而,一条记录实际上在多行上,记录的结尾是中间有 999 的行(该行上没有其他信息)。我想知道我的 xml 应该是什么,或者我需要覆盖哪些类,以便我可以正确读取这种格式。

0 投票
0 回答
2905 浏览

java - BeanIO解析-固定长度和分隔符的组合(新行)

文件示例:

我有一个像这样的Pojo:

bean xml配置:

我的问题:

我需要一种将“\n”分隔符与固定长度结合使用的方法。

所以我需要 3 个对象的结果(每行一个)

我试过了

但我收到:java.lang.IllegalArgumentException:记录终止符必须是单个字符

0 投票
1 回答
8385 浏览

java - BeanIO 将带注释的类写入固定长度

我正在尝试使用 beanio 将带注释的类写入固定长度文件。所有类都已注释,但我遇到异常

“无效字段‘员工’,记录‘团队’,流‘Tm’:找不到类型‘com.mycompany.bio.Employee’的类型处理程序”

下面是我的源代码

团队班:

员工等级:

0 投票
1 回答
1071 浏览

java - 如何使用 BeanIO 将一条记录中的字段复制到另一条记录

我正在尝试将 record2 中的“accountNumber”字段的数据作为“属性”访问。文件格式为平面文件(format="fixedlength")。请帮助我。

样本数据:

0 投票
1 回答
1936 浏览

java - BeanIO - 解析 UTF8 文件时出现 UnidentifiedRecordException

解析使用 UTF8 编码的文件时出现问题。

我有两个完全相同的文件,除了它们的编码。(我只是简单地复制了文件并用 UTF8 保存,所以内容是相同的)。一种使用 ANSI 编码,另一种使用 UTF8 编码。使用 ANSI 编码的文件被成功解析,而另一个文件导致 BeanIO 在调用 BeanReader.read() 方法时抛出 UnidentifiedRecordException:

我试图通过使用以下代码将编码显式设置为 UTF8 来解决此问题:

这并不能解决问题。

此错误的原因可能是什么?

0 投票
1 回答
3593 浏览

spring - Spring Batch 与 BeanIO 集成

我正在尝试将 BeanIO 与 Spring Batch 集成。使用 BeanIO 我正在读取一个固定长度的流文件。我已经测试并验证了使用独立类读取平面文件的代码,它可以无缝工作,但是当我尝试将它与 Spring Batch 集成时,没有调用 BeanIOFlatFileItemReader 的 doRead() 方法,而且我编写的 RedemptionEventCustomProcessor 是多么直接正在被调用。

我在控制台上低于堆栈跟踪。:

:::::::::::::In Processor:::::::::::::::::

退出状态:失败的作业 ID 0 [java.lang.NullPointerException]

完毕

请找到下面使用的依赖项:

  • spring-batch-core 版本 2.1.9.RELEASE
  • spring-batch-infrastructure 2.1.9.RELEASE
  • beanio-2.1.0.M2

请在下面找到资源文件,如下所述:

  • 赚取 api-batch - spring 批处理 xml 文件
  • Earn-api-batch-context - 春季批处理上下文 xml 文件
  • Earn-api-mapping.xml - BeanIO 映射 xml 文件

赚取 api-batch.xml:

赚取 api 批处理上下文:

赚取-api-mapping.xml:

在下面找到类:

主类:

读者类:

处理器类:

如果需要任何其他信息,请告诉我。任何帮助都将不胜感激,请考虑我也是 BeanIO 和 spring 的新手。如果有人可以分享一个使用 Spring Batch 的 BeanIO 工作示例,那也应该有所帮助。

先感谢您。

0 投票
0 回答
1263 浏览

java - BeanIO - 为 @Field 设置属性以获取 ConfigurableTypeHandler 的新实例

我正在使用 BeanIO 编写一个固定格式的文件,其中应该包含一些自定义字段。这些字段应该使用相同的基本处理程序类,但它们的参数略有不同。

我创建了一个@Record存储数据的自定义。例子:

我现在想根据要使用它的字段自定义处理程序类。所以我创建了这个类:

但是,我似乎找不到任何方法来设置每个字段的属性。我怎样才能做到这一点?有没有办法在@Field类型上定义属性?有没有更好的方法来为具有自定义参数的对象定义处理程序类?

0 投票
2 回答
727 浏览

apache-camel - Dynamic mapping for BeanIO in Camel

I would like to achieve something like below:

I have commented out the line which I cannot make. I wanted to pass dynamic values from previous endpoint's output to initialize beanio. Only thing I can think of is using recipient list which will dynamically choose a predefined endpoint. Because, for my case, that endpoint will have unmarshall with beanio, unlike something like "activemq:queue:test", which is purely text. I hope I have made my question clear. Please let me know if you need any further details. I am using camel 2.15.2

0 投票
1 回答
1412 浏览

java - 使用 BeanIO 映射 xml 元素及其属性

我想在下面的xml文件中映射totalAmt标签,它的值都是100,它的属性是Ccy。

通过阅读此处的 BeanIO 参考指南和帖子,我得到的印象是其中只有一个可以映射。

所以我的问题是:BeanIO 可以处理这个标签吗?你能告诉我怎么做吗?

我尝试过但没有奏效的方法: