在spring批处理中,如何将参数从ItemWriter传递给SkipListener?

问题描述:

在我的spring批处理作业中,如果在itemWriter写入发生错误时,它会被跳过。 ItemSkipListener收到它并将项目记录到文件。在spring批处理中,如何将参数从ItemWriter传递给SkipListener?

我的项目有一个列表数据,我想知道列表中出现错误的元素。

但是在ItemSkipListener中,我只能知道item和throwable。 (无法知道列表中的元素)

所以我认为itemWriter将ItemSkipListener的列表索引传递给ItemSkipListener。 我该怎么做? 谢谢。

+0

我发现解决方案,当在writer中发生异常时,捕捉异常并使用元素索引等创建新的异常并将其抛出。 然后在skipListener中接收throwable并可以获取数据。 – SHRIN

+0

将您的评论推广给其他用户接受的答案 –

我找到了我自己的解决方案。 在写入器发生异常的情况下,抓住异常,用元素的索引等制作新的异常,扔掉。然后在skipListener中接收throwable并可以获取数据。