java - 从rabbitMQ接收消息时出错
问题描述
我收到一个错误org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener threw exception
,org.springframework.dao.InvalidDataAccessApiUsageException: Incompartible types found. Expected class java.lang.String for descriptionAbstract with name *_description_abstract, but found class java.util.ArrayList; nested exception is java.lang.IllegalArgumentException: Incompartible types found. Expected class java.lang.String for descriptionAbstract with name *_description_abstract, but found class java.util.ArrayList
但我有 descriptionAbstract as String
package com.myproject.platform.model;
import java.util.List;
import com.myproject.constant.DocumentStatus;
import com.google.gson.annotations.SerializedName;
public class DocumentDto {
@SerializedName("document_id")
private String documentId;
@SerializedName("description_abstract")
private String descriptionAbstract;
public DocumentDto() {
}
public String getDocumentId() {
return documentId;
}
public String getDescriptionAbstract() {
return descriptionAbstract;
}
public static class Builder {
private String documentId;
private String descriptionAbstract;
public Builder documentId(String documentId) {
this.documentId = documentId;
return this;
}
public Builder descriptionAbstract(String descriptionAbstract) {
this.descriptionAbstract = descriptionAbstract;
return this;
}
public DocumentDto build() {
return new DocumentDto(this);
}
}
private DocumentDto(Builder builder) {
this.documentId = builder.documentId;
this.descriptionAbstract = builder.descriptionAbstract;
}
}
如果有人可以指出问题所在或需要其他文件查看,请告诉我
解决方案
Expected class java.lang.String for descriptionAbstract with name *_description_abstract, but found class java.util.ArrayList
您的 java 代码期望消息中的此字段为 String 类型,但您收到的消息将此字段作为列表。Java 无法从列表中创建字符串,这就是它导致异常的原因。查看此消息的格式是否正确(可能生成错误)或将您的字段从 String 更改为 ArrayList。
推荐阅读
- c# - 如何拆分 CSV 文件
- angular - angular 2 4 5 - 如何在 component.ts 中定义对象变量
- java - 在执行 JUnit 测试用例时减少 Spring & Hibernate 初始化时间
- python - Python Django 不会用旧文件覆盖新上传的文件
- twilio - 在 twilio 中更改来电显示
- android - Native Base 的操作表在顶部
- docker - Docker:入口点 shell 脚本忽略更新的配置文件
- excel - 根据另一个单元格的值将缩略图插入 Excel 单元格的公式
- clojure - 生产中的无头 chrome cli
- typescript - Object 和 {} 类型有什么区别,什么时候用哪个