ERROR org.redisson.client.handler.CommandDecoder

一、异常出现的场景

某一天下午,测试突然跑过来说,IOS系统APP访问500,Android没问题。我的第一反应是那就奇怪了,调的接口都是一样的,莫非和系统有关系。而且这个错误重启服务后,过一段时间才能出现。

  通过抓接口,接口的请求参数和请求头也都没问题。

异常信息如下:

12019-03-06 11:12:38.930 [redisson-netty-1-6] ERROR org.redisson.client.handler.CommandDecoder - Unable to decode data. channel: [id: 0x6f473218, L:/192.168.208.2:58514 - R:r-2ze8071a7aae12f4.redis.rds.aliyuncs.com/172.17.189.108:6379] message: *8 2$10 3"merchant" 4$14220 5$22 6"session:creationTime" 7$32 8["java.lang.Long",1551841392125] 9$26 10"session:lastAccessedTime" 11$32 12["java.lang.Long",1551841957642] 13$29 14"session:maxInactiveInterval" 15$23 16["java.lang.Long",1800] 17 18com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'com.sku.common.model.JavaMerchant' as a subtype of [simple type, class java.lang.Object]: no such class found 19 at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 11] 20 at com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43) 21 at com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:1628) 22 at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1186) 23 at com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFromId(ClassNameIdResolver.java:53) 24 at com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver.typeFromId(ClassNameIdResolver.java:44) 25 at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:156) 26 at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:113) 27 at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:97) 28 at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromAny(AsPropertyTypeDeserializer.java:193) 29 at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer$Vanilla.deserializeWithType(UntypedObjectDeserializer.java:712) 30 at com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:68) 31 at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4013) 32 at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3070) 33 at org.redisson.codec.JsonJacksonCodec$2.decode(JsonJacksonCodec.java:92) 34 at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:345) 35 at org.redisson.client.handler.CommandDecoder.decodeList(CommandDecoder.java:406) 36 at org.redisson.client.handler.CommandDecoder.decodeFromCheckpoint(CommandDecoder.java:196) 37 at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:122) 38 at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) 39 at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366) 40 at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) 41 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 42 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 43 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 44 at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 45 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 46 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 47 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 48 at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 49 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 50 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 51 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 52 at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 53 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 54 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 55 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 56 at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) 57 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 58 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 59 at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) 60 at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) 61 at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:647) 62 at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:582) 63 at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499) 64 at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461) 65 at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) 66 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) 67 at java.lang.Thread.run(Thread.java:748) 682019-03-06 11:12:38.931 [redisson-netty-1-6] WARN io.netty.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception. 69io.netty.handler.codec.DecoderException: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'com.sku.common.model.JavaMerchant' as a subtype of [simple type, class java.lang.Object]: no such class found 70 at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 11] 71 at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:421) 72 at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) 73 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 74 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 75 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 76 at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 77 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 78 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 79 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 80 at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 81 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 82 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 83 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 84 at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 85 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 86 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 87 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 88 at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) 89 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 90 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 91 at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) 92 at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) 93 at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:647) 94 at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:582) 95 at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499) 96 at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461) 97 at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) 98 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) 99 at java.lang.Thread.run(Thread.java:748) 100Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'com.sku.common.model.JavaMerchant' as a subtype of [simple type, class java.lang.Object]: no such class found 101 at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 11] 102 at com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43) 103 at com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:1628) 104 at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1186) 105 at com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFromId(ClassNameIdResolver.java:53) 106 at com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver.typeFromId(ClassNameIdResolver.java:44) 107 at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:156) 108 at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:113) 109 at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:97) 110 at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromAny(AsPropertyTypeDeserializer.java:193) 111 at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer$Vanilla.deserializeWithType(UntypedObjectDeserializer.java:712) 112 at com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:68) 113 at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4013) 114 at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3070) 115 at org.redisson.codec.JsonJacksonCodec$2.decode(JsonJacksonCodec.java:92) 116 at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:345) 117 at org.redisson.client.handler.CommandDecoder.decodeList(CommandDecoder.java:406) 118 at org.redisson.client.handler.CommandDecoder.decodeFromCheckpoint(CommandDecoder.java:196) 119 at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:122) 120 at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) 121 at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366) 122 ... 28 common frames omitted 1232019-03-06 11:12:38.932 [http-nio-9850-exec-3] ERROR o.a.c.c.C.[.[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] threw exception 124org.redisson.client.RedisException: Unexpected exception while processing command 125 at org.redisson.command.CommandAsyncService.convertException(CommandAsyncService.java:343) 126 at org.redisson.command.CommandAsyncService.get(CommandAsyncService.java:170) 127 at org.redisson.RedissonObject.get(RedissonObject.java:74) 128 at org.redisson.RedissonMap.readAllEntrySet(RedissonMap.java:426) 129 at org.redisson.spring.session.RedissonSessionRepository$RedissonSession.load(RedissonSessionRepository.java:96) 130 at org.redisson.spring.session.RedissonSessionRepository.findById(RedissonSessionRepository.java:310) 131 at org.redisson.spring.session.RedissonSessionRepository.findById(RedissonSessionRepository.java:52) 132 at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getRequestedSession(SessionRepositoryFilter.java:364) 133 at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getSession(SessionRepositoryFilter.java:301) 134 at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getSession(SessionRepositoryFilter.java:197) 135 at org.springframework.web.util.WebUtils.getSessionId(WebUtils.java:287) 136 at org.springframework.web.servlet.FrameworkServlet.publishRequestHandledEvent(FrameworkServlet.java:1078) 137 at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) 138 at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877) 139 at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) 140 at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851) 141 at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 142 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 143 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 144 at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:147) 145 at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) 146 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 147 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 148 at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728) 149 at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:472) 150 at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395) 151 at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316) 152 at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:395) 153 at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:254) 154 at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:349) 155 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:175) 156 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 157 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 158 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 159 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) 160 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 161 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) 162 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468) 163 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 164 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 165 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 166 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 167 at java.lang.Thread.run(Thread.java:748) 168Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'com.sku.common.model.JavaMerchant' as a subtype of [simple type, class java.lang.Object]: no such class found 169 at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 11] 170 at com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43) 171 at com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:1628) 172 at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1186) 173 at com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFromId(ClassNameIdResolver.java:53) 174 at com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver.typeFromId(ClassNameIdResolver.java:44) 175 at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:156) 176 at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:113) 177 at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:97) 178 at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromAny(AsPropertyTypeDeserializer.java:193) 179 at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer$Vanilla.deserializeWithType(UntypedObjectDeserializer.java:712) 180 at com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:68) 181 at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4013) 182 at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3070) 183 at org.redisson.codec.JsonJacksonCodec$2.decode(JsonJacksonCodec.java:92) 184 at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:345) 185 at org.redisson.client.handler.CommandDecoder.decodeList(CommandDecoder.java:406) 186 at org.redisson.client.handler.CommandDecoder.decodeFromCheckpoint(CommandDecoder.java:196) 187 at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:122) 188 at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) 189 at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366) 190 at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) 191 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 192 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 193 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 194 at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 195 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 196 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 197 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 198 at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 199 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 200 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 201 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 202 at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) 203 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 204 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 205 at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) 206 at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) 207 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) 208 at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) 209 at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) 210 at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) 211 at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:647) 212 at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:582) 213 at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499) 214 at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461) 215 at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) 216 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) 217 ... 1 common frames omitted 2182019-03-06 11:12:38.933 [http-nio-9850-exec-3] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost] - Exception Processing ErrorPage[errorCode=0, location=/error] 219org.redisson.client.RedisException: Unexpected exception while processing command 220 at org.redisson.command.CommandAsyncService.convertException(CommandAsyncService.java:343) 221 at org.redisson.command.CommandAsyncService.get(CommandAsyncService.java:170) 222 at org.redisson.RedissonObject.get(RedissonObject.java:74) 223 at org.redisson.RedissonMap.readAllEntrySet(RedissonMap.java:426) 224 at org.redisson.spring.session.RedissonSessionRepository$RedissonSession.load(RedissonSessionRepository.java:96) 225 at org.redisson.spring.session.RedissonSessionRepository.findById(RedissonSessionRepository.java:310) 226 at org.redisson.spring.session.RedissonSessionRepository.findById(RedissonSessionRepository.java:52) 227 at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getRequestedSession(SessionRepositoryFilter.java:364) 228 at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getSession(SessionRepositoryFilter.java:301) 229 at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getSession(SessionRepositoryFilter.java:197) 230 at org.springframework.web.util.WebUtils.getSessionId(WebUtils.java:287) 231 at org.springframework.web.servlet.FrameworkServlet.publishRequestHandledEvent(FrameworkServlet.java:1078) 232 at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) 233 at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877) 234 at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) 235 at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851) 236 at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 237 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 238 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 239 at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:147) 240 at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) 241 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 242 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 243 at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728) 244 at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:472) 245 at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395) 246 at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316) 247 at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:395) 248 at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:254) 249 at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:349) 250 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:175) 251 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 252 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 253 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 254 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) 255 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 256 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) 257 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468) 258 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 259 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 260 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 261 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 262 at java.lang.Thread.run(Thread.java:748) 263Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'com."sku.common.model.JavaMerchant' as a subtype of [simple type, class java.lang.Object]: no such class found 264 at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 11] 265 at com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43) 266 at com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:1628) 267 at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1186) 268 at com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFromId(ClassNameIdResolver.java:53)

View Code

二、异常信息分析

通过打印的异常,可以确定三个问题:

1.找不到com.sku.common.model.JavaMerchant这个类(JavaMerchant是其他项目中的实体类),说明我们项目读取到了其他项目(SKU项目路)存储的数据

Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'com.sku.common.model.JavaMerchant' as a subtype of [simple type, class java.lang.Object]: no such class found

2.涉及到redisson,说明和redis相关

ERROR org.redisson.client.handler.CommandDecoder - Unable to decode data. channel

3.涉及到tomcat,说明和容器有关

at org.apache.tomcat.util.net.SocketProcessorBase.

三、解决方案

通过上面的分支,定位到了项目SKU,发现该项目使用了HttpSession存值数据。

httpRequest.getSession().setAttribute("merchant", JSONObject.parseObject(JSON.toJSONString(apiResponse.getData()), JavaMerchant.class));

并且该项目和我们项目连的redis是一个,datebase也是同一个。然后通过看代码,发现我们项目引入了spring-session,也就是session共享,Session().setAttribute存储的数据,将存储到redis,并且其他项目也能访问到

1<!-- http session --> 2 <dependency> 3 <groupId>org.springframework.session</groupId> 4 <artifactId>spring-session-data-redis</artifactId> 5 </dependency>

所以解决办法就是

项目中不要使用httpRequest.getSession().setAttribute存储数据

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang