EclipseでSpringBatchファイルを作成し、以下のURLの「社員CSV〜」以前の項目ようそのまま実行して「HelloWorld」をコンソールに
表示させることができましたが、
module-context.xmlを編集し、chunkではなくtaskletで処理を行いたいです。
http://qiita.com/yu_eguchi/items/5f93a3e703030d7e472d
batch:chunkを消し、batch:tasklet="class名"のようにclassを指定すればよいとおもうのですが、
プロジェクト作成時に記載してあるHelloWorldを渡す「ExampleItemReader.java」とログに書き出す「ExampleItemWriter.java」
の処理をうまく1つのclassにまとめる実装のイメージが全くできません。
そのまま同じ処理を一つのclassにまとめて、module-contextで指定したいです。
ご存知の方いらっしゃればご教授いただけると幸いです。
どうぞ宜しくお願いいたします。
module-context.xml
java
1<?xml version="1.0" encoding="UTF-8"?> 2<beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:batch="http://www.springframework.org/schema/batch" 5 xsi:schemaLocation=" 6 http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.1.xsd 7 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 8 9 <description>Example job to get you started. It provides a skeleton for a typical batch application.</description> 10 11 <batch:job id="job1"> 12 <batch:step id="step1" > 13 <batch:tasklet transaction-manager="transactionManager" start-limit="100" > 14 <batch:chunk reader="reader" writer="writer" commit-interval="1" /> 15 </batch:tasklet> 16 </batch:step> 17 </batch:job> 18 19 20</beans> 21
ExampleItemReader.java
java
1package jp.co.sample; 2 3import org.springframework.batch.item.ItemReader; 4import org.springframework.stereotype.Component; 5 6/** 7 * {@link ItemReader} with hard-coded input data. 8 */ 9 10@Component("reader") 11public class ExampleItemReader implements ItemReader<String> { 12 13 private String[] input = {"Hello world!", null}; 14 15 private int index = 0; 16 17 /** 18 * Reads next record from input 19 */ 20 public String read() throws Exception { 21 if (index < input.length) { 22 return input[index++]; 23 } 24 else { 25 return null; 26 } 27 28 } 29 30} 31
ExampleItemWriter.java
java
1package jp.co.sample; 2 3import java.util.List; 4 5import org.apache.commons.logging.Log; 6import org.apache.commons.logging.LogFactory; 7import org.springframework.batch.item.ItemWriter; 8import org.springframework.stereotype.Component; 9 10 11/** 12 * Dummy {@link ItemWriter} which only logs data it receives. 13 */ 14@Component("writer") 15public class ExampleItemWriter implements ItemWriter<Object> { 16 17 private static final Log log = LogFactory.getLog(ExampleItemWriter.class); 18 19 /** 20 * @see ItemWriter#write(java.util.List) 21 */ 22 public void write(List<? extends Object> data) throws Exception { 23 log.info(data); 24 } 25 26} 27
あなたの回答
tips
プレビュー