Java Spring AWS SQS-MessageConversionException
我正在尝试解决SQS队列的序列化问题,下面是一个代码:Java Spring AWS SQS-MessageConversionException,java,spring,amazon-web-services,queue,amazon-sqs,Java,Spring,Amazon Web Services,Queue,Amazon Sqs,我正在尝试解决SQS队列的序列化问题,下面是一个代码: @Configuration public class QueueConfig { @Bean public QueueMessagingTemplate messagingTemplate(AmazonSQSAsync amazonSqs, ResourceIdResolver resourceIdResolver) { ObjectMapper objectMapper = new ObjectMapp
@Configuration
public class QueueConfig {
@Bean
public QueueMessagingTemplate messagingTemplate(AmazonSQSAsync amazonSqs, ResourceIdResolver resourceIdResolver) {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.findAndRegisterModules();
DefaultContentTypeResolver resolver = new DefaultContentTypeResolver();
resolver.setDefaultMimeType(MimeTypeUtils.APPLICATION_JSON);
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
converter.setSerializedPayloadClass(String.class);
converter.setObjectMapper(objectMapper);
return new QueueMessagingTemplate(amazonSqs, resourceIdResolver, converter);
}
}
这项工作(字符串):
这不起作用(对象):
我得到一个错误:
org.springframework.messaging.converter.MessageConversionException: Unable to convert payload with type='com.example.Something', contentType='null', converter=[CompositeMessageConverter[converters=[org.springframework.messaging.converter.StringMessageConverter@433f5e00, org.springframework.messaging.converter.MappingJackson2MessageConverter@74e3e86e]]]
我做错了什么?我怀疑的是,这段代码
converter.setSerializedPayloadClass(String.class);
试着这样做,而不是
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
return new QueueMessagingTemplate(amazonSqs, resourceIdResolver, converter);
这将在将消息发布到队列之前将请求正文转换为字节[]
converter.setSerializedPayloadClass(String.class);
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
return new QueueMessagingTemplate(amazonSqs, resourceIdResolver, converter);