Spring Batch生成的项目列表的Bean ID

时间:2013-12-08 00:54:54

标签: java spring arraylist spring-batch applicationcontext

在Spring Batch中,在ItemReader或ItemProcessor返回它的item对象之后,框架将该项放入ArrayList以传递给ItemWriter。

我需要访问ItemProcessor中项目的ArrayList。我需要的核心功能是在ItemReader / ItemProcessor处理它的块时访问Arraylist。

我的想法是使用ApplicationContextAware ItemProcessor,允许我在下面进行调用:

ArrayList<? extends Item> items = context.getBean("items", ArrayList.class)

但是豆子没有被命名为物品。

你知道我如何获得对该ArrayList的访问权限,或者Bean的名称,以便我可以强制进入那里吗?

1 个答案:

答案 0 :(得分:2)

使用以下弹簧批注释(自春季批次2.0起可用)

  

@BeforeWrite
在传递项目之前标记要调用的方法   一个ItemWriter
预期的签名:void beforeWrite(List   项)

标记有此注释的编写器上的方法将在之前为每个块执行 你的写法。