diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/avro/AvroItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/avro/AvroItemReader.java index aca9f4aa1e..f2ed750847 100755 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/avro/AvroItemReader.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/avro/AvroItemReader.java @@ -35,6 +35,7 @@ import org.springframework.core.io.Resource; import org.springframework.lang.Nullable; import org.springframework.util.Assert; +import org.springframework.util.ClassUtils; /** * An {@link ItemReader} that deserializes data from a {@link Resource} containing @@ -42,6 +43,7 @@ * * @author David Turanski * @author Mahmoud Ben Hassine + * @author Song JaeGeun * @since 4.2 */ public class AvroItemReader extends AbstractItemCountingItemStreamItemReader { @@ -61,6 +63,8 @@ public class AvroItemReader extends AbstractItemCountingItemStreamItemReader< * @param clazz the data type to be deserialized. */ public AvroItemReader(Resource resource, Class clazz) { + setName(ClassUtils.getShortName(AvroItemReader.class)); + Assert.notNull(resource, "'resource' is required."); Assert.notNull(clazz, "'class' is required."); @@ -78,6 +82,8 @@ public AvroItemReader(Resource resource, Class clazz) { * @param schema the {@link Resource} containing the Avro schema. */ public AvroItemReader(Resource data, Resource schema) { + setName(ClassUtils.getShortName(AvroItemReader.class)); + Assert.notNull(data, "'data' is required."); Assert.state(data.exists(), "'data' " + data.getFilename() + " does not exist."); Assert.notNull(schema, "'schema' is required"); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/avro/builder/AvroItemReaderBuilder.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/avro/builder/AvroItemReaderBuilder.java index c9803e2590..bdbf64f2ea 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/avro/builder/AvroItemReaderBuilder.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/avro/builder/AvroItemReaderBuilder.java @@ -22,13 +22,13 @@ import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.Resource; import org.springframework.util.Assert; -import org.springframework.util.StringUtils; /** * A builder implementation for the {@link AvroItemReader}. * * @author David Turanski * @author Mahmoud Ben Hassine + * @author Song JaeGeun * @since 4.2 */ public class AvroItemReaderBuilder { @@ -170,10 +170,6 @@ public AvroItemReader build() { avroItemReader.setSaveState(this.saveState); - if (this.saveState) { - Assert.state(StringUtils.hasText(this.name), "A name is required when saveState is set to true."); - } - avroItemReader.setName(this.name); avroItemReader.setCurrentItemCount(this.currentItemCount); avroItemReader.setMaxItemCount(this.maxItemCount);