SQS的Spring集成分区

时间:2018-06-22 11:20:31

标签: spring-integration spring-batch amazon-sqs

我正在尝试设置spring-integration分区。

我正在使用堆栈弹簧批处理和集成以及AWS SQS

  1. 主-网格大小的完整分区。

  2. Master-将对象(StepExecutionRequest)传输到JSON          (@Transformer ObjectToJsonTransformer)

  3. 主-发送SQS。

  4. 从站-接收SQS

  5. 从站-将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没有设置。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

StepExecutionRequest不适合使用JSON进行序列化;如错误所示,它没有默认构造函数。改用Java序列化,或编写自定义杰克逊JsonDeserializer