[Spring Batch] (備忘録) ItemReader の動作

ItemReader は処理対象となるオブジェクトを取得する。
実装した、 T read() メソッドがnullを返すまで処理は繰り替えされる。
なので処理としては以下の様になる。

  1. ItemReader でレコードを読み込む
  2. ItemProcessor で何らかの処理
  3. ItemWriter で結果の書き込み。この時再び ItemReader で読み込まれないようにフラグ等をセット

もしくは、処理失敗時の考慮なども必要だが、以下のようにしてもよい。

  1. 初回起動時の ItemReader で全ての対象レコードを読み取る。戻り値は、処理対象のレコードのみ
  2. ItemProcessor で何らかの処理
  3. ItemWriter で何らかの書き込み処理

上記の場合、 ItemReader は状態を保存しておく必要がある。
ItemReader のbean定義に、scope=”step” のようにするとステップ単位でインスタンスが生成される。
scope=”step” にしておけば ItemReader が null を返すまでインスタンス変数は保持される。




[jQuery] 前空白を入れる

前空白を入れるには、HTMLなら&nsbp; か <pre>タグで囲ってやればよい。
jQueryで生成したセレクトボックスなどの場合は、 &nsbp; が使えない。

以下のように、jQuery とかで値に空白を入れるには、’\u00a0′ を使う。