当前位置:网站首页>com.fasterxml.jackson.databind.exc.MismatchedInputException: Expected array or string. at [Source:x
com.fasterxml.jackson.databind.exc.MismatchedInputException: Expected array or string. at [Source:x
2022-06-26 23:32:00 【tag心动】
错误场景:
rabbitmq消费端接收消息,提示无法序列化。 根据以下报错得知, 是java.time.LocalDateTime类型的原因. ObjectMapper 不能对LocalDateTime 序列化
问题描述
rabbitmq消费端接收消息,错误信息:
com.fasterxml.jackson.databind.exc.MismatchedInputException: Expected array or string.
at [Source: (String)"xx这里是接收json对象xx"[truncated 357 chars]; line: 1, column: 606] (through reference chain: com.csair.tang.logs.receiver.LogFlightcenterMessage["operationTime"])
at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1468)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1242)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1170)
at com.fasterxml.jackson.datatype.jsr310.deser.JSR310DeserializerBase._handleUnexpectedToken(JSR310DeserializerBase.java:148)
at com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer.deserialize(LocalDateTimeDeserializer.java:159)
at com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer.deserialize(LocalDateTimeDeserializer.java:39)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3468)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3436)
at com.csair.tang.logs.receiver.LogFlightcenterReceiver.onTestMessage(LogFlightcenterReceiver.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:171)
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:120)
at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:53)
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:239)
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandlerAndProcessResult(MessagingMessageListenerAdapter.java:191)
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:137)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1630)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1549)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1537)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:1528)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:1472)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:977)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:923)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$1600(SimpleMessageListenerContainer.java:83)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.mainLoop(SimpleMessageListenerContainer.java:1298)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1204)
at java.lang.Thread.run(Thread.java:748)
2022-06-23 23:34:13.056 ERROR[org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1]com.csair.tang.logs.receiver.LogFlightcenterReceiver.onTestMessage:53 -日志接收异常:Expected array or string.
解决方案
在生产者消息模板属性加上以下注解:
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
再重启消费者服务,重新发送消息测试
边栏推荐
- Can I open an account for stock trading on my mobile phone? Is it safe to open an account for stock trading on the Internet
- 目标追踪拍摄?目标遮挡拍摄?拥有19亿安装量的花瓣app,究竟有什么别出心裁的功能如此吸引用户?
- Where is it safer to open an account to buy funds
- xshell的安装、xftp的安装
- An article takes you to learn container escape
- Can I open an account for stock trading on my mobile phone? Is it safe to open an account for stock trading on the Internet
- 手机能开户炒股吗 网上开户炒股安全吗
- 互联网行业,常见含金量高的证书,看看你有几个?
- Intrusion trace cleaning
- Typera set title auto numbering
猜你喜欢
随机推荐
Installing MySQL on Ubuntu
In the Internet industry, there are many certificates with high gold content. How many do you have?
串口调试工具 mobaxterm 下载
[微服务]Eureka
Electronic Society C language level 1 31. Calculate line segment length
Microservices and container choreography in go
Cve-2022-30190 follina office rce analysis [attached with customized word template POC]
CVE-2022-30190 Follina Office RCE分析【附自定义word模板POC】
Can I open an account for stock trading on my mobile phone? Is it safe to open an account for stock trading on the Internet
新型冠状病毒变异Delta毒株的模拟(MindSPONGE应用)
1+1<2 ?! HESIC论文解读
test
【界面】pyqt5和Swin Transformer对人脸进行识别
买基金在哪里开户买比较安全
ubuntu上安装mysql
Hit the point! The largest model training collection!
Alibaba cloud server purchase, basic configuration, (xshell) remote connection and environment building
Leetcode 718. Longest repeating subarray (violence enumeration, to be solved)
Where is it safer to open an account to buy funds
颜色搭配和相关问题