Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring AWS SQS-MessageConversionException_Java_Spring_Amazon Web Services_Queue_Amazon Sqs - Fatal编程技术网

Java Spring AWS SQS-MessageConversionException

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

我正在尝试解决SQS队列的序列化问题,下面是一个代码:

@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);