我正在尝试设置spring-integration分区。
我正在使用堆栈弹簧批处理和集成以及AWS SQS
主-网格大小的完整分区。
Master-将对象(StepExecutionRequest)传输到JSON (@Transformer ObjectToJsonTransformer)
主-发送SQS。
从站-接收SQS
从站-将JSON传输到对象(StepExecutionRequest) (@Transformer JsonToObjectTransformer)
然后,发生的异常:
2018-06-22 17:40:55.578 ERROR 33730 --- [ask-scheduler-1] o.s.integration.handler.LoggingHandler : org.springframework.integration.transformer.MessageTransformationException: failed to transform message; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `org.springframework.batch.integration.partition.StepExecutionRequest` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
也就是说,StepExecutionRequest
不能反序列化,因为StepExecutionReuqest
没有设置。
我该如何解决这个问题?
答案 0 :(得分:0)
StepExecutionRequest
不适合使用JSON进行序列化;如错误所示,它没有默认构造函数。改用Java序列化,或编写自定义杰克逊JsonDeserializer
。