我使用Spring Cloud AWS消息传递使用SQS发送/接收消息。spring-cloud-aws Spring创建SQS不支持的消息头属性
我的代码看起来是这样的:
@SpringBootApplication
@Import(MessagingConfig.class)
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
@Configuration
public class MessagingConfig {
@Bean
public QueueMessagingTemplate queueMessagingTemplate(AmazonSQS amazonSqs, ResourceIdResolver resourceIdResolver) {
return new QueueMessagingTemplate(amazonSqs, resourceIdResolver);
}
}
发件人代码是这样的(经由控制器有线):
@Component
public class Sender {
@Autowired
private QueueMessagingTemplate queueMessagingTemplate;
public void send(MyMessage message) {
queueMessagingTemplate.convertAndSend("testQueue", message);
}
}
我有一个application.yaml
文件,定义,似乎该AWS参数正确加载。所以,当我运行这个程序,我碰到下面的警告/错误:
Message header with name 'id' and type 'java.util.UUID' cannot be sent as message attribute because it is not supported by SQS.
是否有东西,我做错了,或有与Spring为SQS创建消息的方式的问题吗?