私は春のバッチを学習しています。リーダー、マッパー、ライターの基本的な考え方があります。今私の現在の要件は、ファイルから各行を読み込み、データを圧縮し、gigaspaceベースのインメモリグリッドに書き込むことです。スプリングバッチを使用してマッパーなしで完全な行を読み取る方法
私はラインマッパーがiteamリーダーのための必須属性であると理解します。私はマッパを作っていないので、行を読んでライターに送ってグリッドに書き込むだけです。だから、どのように私はラインマッパーをスキップするか、またはプレーンラインを読むことができます。現在、私はこのような何かをしています、それはイニシアチブの解決策ではないようです。
public class ShrFileMapper implements FieldSetMapper<SpaceDocument> {
@Override
public SpaceDocument mapFieldSet(FieldSet fieldSet) throws BindException {
String positionId = fieldSet.readString(0);
StringBuffer line = new StringBuffer();
for (String fieldValue : fieldSet.getValues()) {
line.append("\t").append(fieldSet);
}
// logic for compression
SpaceDocument spaceDocument = new SpaceDocument("shr.doc");
spaceDocument.setProperty("id", positionId);
spaceDocument.setProperty("payload", compressedString);
return spaceDocument;
}
}