diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ExecutionContext.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ExecutionContext.java index 0cc674dc1..e21116278 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ExecutionContext.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ExecutionContext.java @@ -64,7 +64,9 @@ public class ExecutionContext { } public void put(String key, Object value) { - Assert.isInstanceOf(Serializable.class, value, "Value: [ " + value + "must be serializable."); + if(value != null){ + Assert.isInstanceOf(Serializable.class, value, "Value: [ " + value + "must be serializable."); + } dirty = true; map.put(key, value); } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/ExecutionContextTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/ExecutionContextTests.java index 3c0f2ba95..543270981 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/ExecutionContextTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/ExecutionContextTests.java @@ -95,4 +95,9 @@ public class ExecutionContextTests extends TestCase{ } } + public void testPutNull(){ + //putting null should work + context.put("1", null); + } + }