BeanIO 项目 reader 注释需要 reader.markSupported() 到 return true

BeanIO item reader Comments require reader.markSupported() to return true

我的 beanioItemReader 映射定义如下 -

<stream name="DTA" format="fixedlength">
    <parser>
        <property name="comments" value="#" />
    </parser>
...

并得到异常 -

jberet - WARN  JBERET000001: Failed to run batchlet org.jberet.job.model.RefArtifact@67af20cb
java.lang.IllegalArgumentException: Comments require reader.markSupported() to return true
    at org.beanio.stream.util.CommentReader.<init>(CommentReader.java:61) ~[beanio-2.1.0.jar:2.1.0]
    at org.beanio.stream.fixedlength.FixedLengthReader.<init>(FixedLengthReader.java:101) ~[beanio-2.1.0.jar:2.1.0]

我没有看到任何要传递给 beanioItemReader 以供评论的记录属性。 Can/How 我的评论有用吗?

BeanIO 映射文件的位置在 BeanIOItemReaderWriterBase class 中配置,因此映射文件中指定的任何配置都将传递给底层 BeanIO reader.

从堆栈跟踪来看,它似乎在抱怨底层 reader 不支持标记(reader.markSupported returns false). But JBeret BeanIOItemReader class 使用了支持标记的 BufferedReader .