Java 使用Spring集成序列化异常+;AWS SQS

Java 使用Spring集成序列化异常+;AWS SQS,java,spring,spring-integration,amazon-sqs,Java,Spring,Spring Integration,Amazon Sqs,我试图使用Spring与AmazonSQS的集成,但不知道我做错了什么 如果我使用内存队列,如下所示,一切正常: <channel id="businessEvents"> <queue /> </channel> 但当我将其更改为使用AWS SQS时,如下所示: <int-sqs:channel id="businessEvents" region-id="us-east-1" queue-name="events-sq

我试图使用Spring与AmazonSQS的集成,但不知道我做错了什么

如果我使用内存队列,如下所示,一切正常:

<channel id="businessEvents">
    <queue />
</channel>

但当我将其更改为使用AWS SQS时,如下所示:

<int-sqs:channel id="businessEvents" 
    region-id="us-east-1"
    queue-name="events-sqs" 
    aws-credentials-provider="awsCredentialsProvider"  />
@com.fasterxml.jackson.annotation.JsonProperty
private long createdAt;

我得到以下错误:

org.springframework.integration.MessagingException: org.springframework.integration.MessagineException:无序列化程序 为类br.com.event.RegisterEvent找到,没有属性 发现以创建BeanSerializer(要避免异常,请禁用 SerializationConfig.Feature.FAIL_ON_EMPTY_bean))(通过引用 chain:org.springframework.integration.aws.[“payload”])

我是否需要在Spring集成上配置其他内容?还是我的bean课出了什么问题

SerializationConfig.Feature

看起来您正在以某种方式调用JSON序列化(Jackson),而您的类对Jackson不友好


问这样的问题时,请显示完整的堆栈跟踪。

解决了这个问题。我们用@JsonProperty注释了我们的事件(进入队列),如下所示:

<int-sqs:channel id="businessEvents" 
    region-id="us-east-1"
    queue-name="events-sqs" 
    aws-credentials-provider="awsCredentialsProvider"  />
@com.fasterxml.jackson.annotation.JsonProperty
private long createdAt;
但是当我们使用字符串集成AWS时,我们需要使用另一个包中的@JsonProperty

@org.codehaus.jackson.annotate.JsonProperty
private long createdAt;

你可以发布类的代码吗
br.com.event.RegisterEvent
。您实现了可序列化的
吗?@redflar3,这个类有点长,但是是的,它实现了可序列化的。奇怪的是,它在“有效负载”属性上失败。我认为“有效载荷”来自Spring集成本身。