栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

FeignClient List<xxObject> java.lang.ClassCastException

FeignClient List<xxObject> java.lang.ClassCastException

bug场景:
1、使用FeignClient调用业务系统获得List
2、遍历List执行业务逻辑

List xxObecjtLsit = feginClient.getList();
for (xxObject obecjt : xxObecjtLsit) {
	.......
}

报错信息:

java.lang.ClassCastException: class com.alibaba.fastjson.JSonObject cannot be cast to class com.flex.ops.model.vo.xxObecjt (com.alibaba.fastjson.JSonObject and com.flex.ops.model.vo.xxObecjt are in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @21a5fd96)
 at com.flex.notify.message.PreOrderMessage.lambda$createPreOrder$0(PreOrderMessage.java:104)
 at java.base/java.util.HashMap.forEach(HashMap.java:1333)
 at com.flex.notify.message.PreOrderMessage.createPreOrder(PreOrderMessage.java:100)
 at com.flex.notify.message.PreOrderMessage.sendNotify(PreOrderMessage.java:56)
 at com.flex.notify.listener.NotifyListener.preOrder(NotifyListener.java:53)
 at jdk.internal.reflect.GeneratedMethodAccessor352.invoke(Unknown Source)
 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.base/java.lang.reflect.Method.invoke(Method.java:567)
 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.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:56)
 at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:347)
 at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:92)
 at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:53)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeonMessage(KafkaMessageListenerContainer.java:2584)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeonMessage(KafkaMessageListenerContainer.java:2565)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2492)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2402)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2281)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:1955)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1354)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke$original$9xHn35ni(KafkaMessageListenerContainer.java:1345)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke$original$9xHn35ni$accessor$nfxljpQV(KafkaMessageListenerContainer.java)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer$auxiliary$a9STva4f.call(Unknown Source)
 at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java)
 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1237)
 at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
 at java.base/java.lang.Thread.run(Thread.java:835)

本机开发环境和测试环境都没有问题,查看了生产的数据信息和本地的数据结构一致

解决办法:转成jsonString在转回去

String jsonString = JSON.toJSONString(list);
List finalList = JSON.parseArray(jsonString, xxObject.class);

虽然不知道为啥,但是可以解决这个问题,等以后能力提升在研究到底是因为啥吧。。。。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774483.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号