codingapi / tx-lcn

LCN distributed transaction framework, compatible with dubbo, spring cloud and Motan framework, supports various relational databases
https://www.codingapi.com
Apache License 2.0
4.22k stars 1.46k forks source link

io.netty.handler.codec.DecoderException: com.codingapi.txlcn.common.exception.SerializerException: java.lang.ClassNotFoundException: org.springframework.orm.jpa.JpaSystemException #558

Open javaalpha opened 3 years ago

javaalpha commented 3 years ago

1. Bug Description

出现多级调用时:A服务-B服务-(C服务,D服务,E服务),出现了如题的异常。 本机win7,环境正常。Linux服务器上就出异常。

2. Environment:

3. Exception Stacktrace

io.netty.handler.codec.DecoderException: com.codingapi.txlcn.common.exception.SerializerException: java.lang.ClassNotFoundException: org.springframework.orm.jpa.JpaSystemException
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.codingapi.txlcn.common.exception.SerializerException: java.lang.ClassNotFoundException: org.springframework.orm.jpa.JpaSystemException
    at com.codingapi.txlcn.common.util.serializer.ProtostuffSerializer.deSerialize(ProtostuffSerializer.java:99)
    at com.codingapi.txlcn.common.util.serializer.SerializerContext.deSerialize(SerializerContext.java:61)
    at com.codingapi.txlcn.txmsg.netty.handler.ObjectSerializerDecoder.decode(ObjectSerializerDecoder.java:41)
    at com.codingapi.txlcn.txmsg.netty.handler.ObjectSerializerDecoder.decode(ObjectSerializerDecoder.java:31)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
    ... 21 common frames omitted
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.springframework.orm.jpa.JpaSystemException
    at io.protostuff.runtime.RuntimeEnv.loadClass(RuntimeEnv.java:258)
    at io.protostuff.runtime.DefaultIdStrategy.getSchemaWrapper(DefaultIdStrategy.java:185)
    at io.protostuff.runtime.DefaultIdStrategy.resolvePojoFrom(DefaultIdStrategy.java:524)
    at io.protostuff.runtime.ObjectSchema.readObjectFrom(ObjectSchema.java:682)
    at io.protostuff.runtime.ObjectSchema.mergeFrom(ObjectSchema.java:350)
    at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359)
    at io.protostuff.CodedInput.mergeObject(CodedInput.java:321)
    at io.protostuff.runtime.RuntimeUnsafeFieldFactory$15$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1217)
    at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466)
    at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359)
    at io.protostuff.CodedInput.mergeObject(CodedInput.java:321)
    at io.protostuff.runtime.RuntimeUnsafeFieldFactory$13$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1038)
    at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466)
    at io.protostuff.IOUtil.mergeFrom(IOUtil.java:77)
    at io.protostuff.ProtostuffIOUtil.mergeFrom(ProtostuffIOUtil.java:122)
    at com.codingapi.txlcn.common.util.serializer.ProtostuffSerializer.deSerialize(ProtostuffSerializer.java:96)
    ... 25 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.orm.jpa.JpaSystemException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at io.protostuff.runtime.RuntimeEnv.loadClass(RuntimeEnv.java:251)
    ... 40 common frames omitted

4. Tour Idea

lzf350888562 commented 2 years ago

I'm getting a similar error when the app first starts:

io.netty.handler.codec.DecoderException: com.codingapi.txlcn.common.exception.SerializerException: java.lang.ClassNotFoundException: io.lettuce.core.RedisCommandTimeoutException
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:326)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:300)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514)
    at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.codingapi.txlcn.common.exception.SerializerException: java.lang.ClassNotFoundException: io.lettuce.core.RedisCommandTimeoutException
    at com.codingapi.txlcn.common.util.serializer.ProtostuffSerializer.deSerialize(ProtostuffSerializer.java:99)
    at com.codingapi.txlcn.common.util.serializer.SerializerContext.deSerialize(SerializerContext.java:61)
    at com.codingapi.txlcn.txmsg.netty.handler.ObjectSerializerDecoder.decode(ObjectSerializerDecoder.java:41)
    at com.codingapi.txlcn.txmsg.netty.handler.ObjectSerializerDecoder.decode(ObjectSerializerDecoder.java:31)
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
    ... 21 common frames omitted
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: io.lettuce.core.RedisCommandTimeoutException
    at io.protostuff.runtime.RuntimeEnv.loadClass(RuntimeEnv.java:258)
    at io.protostuff.runtime.DefaultIdStrategy.getSchemaWrapper(DefaultIdStrategy.java:185)
    at io.protostuff.runtime.DefaultIdStrategy.resolvePojoFrom(DefaultIdStrategy.java:524)
    at io.protostuff.runtime.PolymorphicThrowableSchema.readObjectFrom(PolymorphicThrowableSchema.java:205)
    at io.protostuff.runtime.PolymorphicThrowableSchema.readObjectFrom(PolymorphicThrowableSchema.java:199)
    at io.protostuff.runtime.PolymorphicThrowableSchema.mergeFrom(PolymorphicThrowableSchema.java:129)
    at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359)
    at io.protostuff.CodedInput.mergeObject(CodedInput.java:321)
    at io.protostuff.runtime.RuntimeUnsafeFieldFactory$15$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1217)
    at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466)
    at io.protostuff.runtime.PolymorphicThrowableSchema.readObjectFrom(PolymorphicThrowableSchema.java:243)
    at io.protostuff.runtime.ObjectSchema.readObjectFrom(ObjectSchema.java:678)
    at io.protostuff.runtime.ObjectSchema.mergeFrom(ObjectSchema.java:350)
    at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359)
    at io.protostuff.CodedInput.mergeObject(CodedInput.java:321)
    at io.protostuff.runtime.RuntimeUnsafeFieldFactory$15$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1217)
    at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466)
    at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359)
    at io.protostuff.CodedInput.mergeObject(CodedInput.java:321)
    at io.protostuff.runtime.RuntimeUnsafeFieldFactory$13$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1038)
    at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466)
    at io.protostuff.IOUtil.mergeFrom(IOUtil.java:77)
    at io.protostuff.ProtostuffIOUtil.mergeFrom(ProtostuffIOUtil.java:122)
    at com.codingapi.txlcn.common.util.serializer.ProtostuffSerializer.deSerialize(ProtostuffSerializer.java:96)
    ... 25 common frames omitted
Caused by: java.lang.ClassNotFoundException: io.lettuce.core.RedisCommandTimeoutException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at io.protostuff.runtime.RuntimeEnv.loadClass(RuntimeEnv.java:251)
    ... 48 common frames omitted