当前位置:网站首页>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-27 00:06: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)

再重啟消費者服務,重新發送消息測試
边栏推荐
- Encapsulate servlet unified processing request
- 技术干货|什么是大模型?超大模型?Foundation Model?
- Microservices and container choreography in go
- 12 color ring three primary colors
- 为什么EDR需要深度防御来打击勒索软件?
- 手机能开户炒股吗 网上开户炒股安全吗
- Development and learning route of golang language
- Which securities dealers recommend? Is it safe to open an account online now?
- 邮箱附件钓鱼常用技法
- Common techniques of email attachment phishing
猜你喜欢

大赛报名 | AI+科学计算重点赛事之一——中国开源科学软件创意大赛,角逐十万奖金!

Understanding of "the eigenvectors corresponding to different eigenvalues cannot be orthogonalized"
![[interface] pyqt5 and swing transformer for face recognition](/img/37/b259627a8ffd82afe8e8f3029bf290.png)
[interface] pyqt5 and swing transformer for face recognition

【UVM实战 ===> Episode_3 】~ Assertion、Sequence、Property

让敏捷回归本源——读《敏捷整洁之道》有感

Unity4.6 Download
![[微服務]認識微服務](/img/62/e826e692e7fd6e6e8dab2baa4dd170.png)
[微服務]認識微服務

技术干货|什么是大模型?超大模型?Foundation Model?

An article takes you to learn container escape

Solid and ambient colors
随机推荐
The most complete hybrid precision training principle in the whole network
Would you like to buy stocks? Where do you open an account in a securities company? The Commission is lower and safer
【leetcode】275. H index II
新型冠状病毒变异Delta毒株的模拟(MindSPONGE应用)
Why does EDR need defense in depth to combat ransomware?
Ten thousand words explanation - mindarmour Xiaobai tutorial!
Can't write to avoid killing and can easily go online CS through defender
How to open an account on the mobile phone? Is it safe to open an account online and speculate in stocks
目标追踪拍摄?目标遮挡拍摄?拥有19亿安装量的花瓣app,究竟有什么别出心裁的功能如此吸引用户?
MindSpore新型轻量级神经网络GhostNet,在ImageNet分类、图像识别和目标检测等多个应用场景效果优异!
golang语言的开发学习路线
复杂数据没头绪?
In the Internet industry, there are many certificates with high gold content. How many do you have?
Super hard core! Can the family photo album on Huawei's smart screen be classified automatically and accurately?
kubernetes可视化界面dashboard
Installing MySQL on Ubuntu
Le principe le plus complet de formation à la précision hybride pour l'ensemble du réseau
ASP.Net Core创建MVC项目上传文件(缓冲方式)
[micro service]nacos
炒股手机上开户可靠吗? 网上开户炒股安全吗