Use a Retrying Writer
Updated: Feb 21, 2022
package com.northconcepts.datapipeline.examples.cookbook;
import java.io.File;
import java.util.Arrays;
import com.northconcepts.datapipeline.avro.AvroWriter;
import com.northconcepts.datapipeline.core.DataReader;
import com.northconcepts.datapipeline.core.DataWriter;
import com.northconcepts.datapipeline.core.Record;
import com.northconcepts.datapipeline.core.RecordList;
import com.northconcepts.datapipeline.job.Job;
import com.northconcepts.datapipeline.memory.MemoryReader;
import com.northconcepts.datapipeline.memory.MemoryWriter;
import com.northconcepts.datapipeline.retry.RetryingWriter;
public class UseRetryingWriter {
public static void main(String[] args) {
DataReader reader = new MemoryReader(new RecordList(createRecord("One"), createRecord("Two"),
createRecord("Three")));
MemoryWriter discardWriter = new MemoryWriter();
DataWriter writer = new AvroWriter(new File("example/data/output/bird-iq.avro"), discardWriter);
writer = new RetryingWriter(writer);
Job.run(reader, writer);
}
private static Record createRecord(String title) {
Record record = new Record();
record.setField("Title", title);
record.setField("Number", 3.14);
record.setField("BirdIQ", Arrays.asList("b","i","r","d","i","q"));
return record;
}
}
