One other thing about serialization is a JobParameter. Value (String,Long,Date,Double) is set via constructor and serializer needs to know which one to use. I think a while back Michael mentioned that XStream is not reliable, don't know if there's been any batch internal work on this.