tx-lcn icon indicating copy to clipboard operation
tx-lcn copied to clipboard

5.0.2 LCN模式超时后,出现事务未提交,锁住了表

Open StoneLYC opened this issue 5 years ago • 1 comments

  • [ ] I have searched the issues of this repository and believe that this is not a duplicate.

1. LCN模式在debug过程中超时后没有提交或回滚事务

2. Environment:

  • JDK version: JDK1.8
  • OS: Window
  • TX-LCN version: 5.0.2
  • Others:

3. Exception Stacktrace

2019-10-29 10:17:18.699  INFO 74904 --- [io-12002-exec-5] jdbc.audit                               : 1. Connection.isReadOnly() returned false
2019-10-29 10:17:18.756 ERROR 74904 --- [ntLoopGroup-2-1] c.c.t.t.n.h.NettyClientRetryHandler      : NettyClientRetryHandler - exception . 

io.netty.handler.codec.DecoderException: com.codingapi.txlcn.common.exception.SerializerException: Protocol message tag had invalid wire type.
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:648) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:583) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:500) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: com.codingapi.txlcn.common.exception.SerializerException: Protocol message tag had invalid wire type.
	at com.codingapi.txlcn.common.util.serializer.ProtostuffSerializer.deSerialize(ProtostuffSerializer.java:99) ~[txlcn-common-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.common.util.serializer.SerializerContext.deSerialize(SerializerContext.java:61) ~[txlcn-common-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.txmsg.netty.handler.ObjectSerializerDecoder.decode(ObjectSerializerDecoder.java:41) ~[txlcn-txmsg-netty-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.txmsg.netty.handler.ObjectSerializerDecoder.decode(ObjectSerializerDecoder.java:31) ~[txlcn-txmsg-netty-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	... 20 common frames omitted
Caused by: io.protostuff.ProtobufException: Protocol message tag had invalid wire type.
	at io.protostuff.ProtobufException.invalidWireType(ProtobufException.java:118) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.skipField(CodedInput.java:170) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.skipMessage(CodedInput.java:183) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.skipField(CodedInput.java:160) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.handleUnknownField(CodedInput.java:1254) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:462) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObject(CodedInput.java:321) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.ArraySchemas$PojoArray.readFrom(ArraySchemas.java:2227) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.ArraySchemas$Base.mergeFrom(ArraySchemas.java:326) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObject(CodedInput.java:321) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeUnsafeFieldFactory$15$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1217) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.PolymorphicThrowableSchema.readObjectFrom(PolymorphicThrowableSchema.java:243) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.ObjectSchema.readObjectFrom(ObjectSchema.java:678) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.ObjectSchema.mergeFrom(ObjectSchema.java:350) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObject(CodedInput.java:321) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeUnsafeFieldFactory$15$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1217) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObject(CodedInput.java:321) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeUnsafeFieldFactory$13$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1038) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.IOUtil.mergeFrom(IOUtil.java:77) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.ProtostuffIOUtil.mergeFrom(ProtostuffIOUtil.java:122) ~[protostuff-core-1.6.0.jar:1.6.0]
	at com.codingapi.txlcn.common.util.serializer.ProtostuffSerializer.deSerialize(ProtostuffSerializer.java:96) ~[txlcn-common-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	... 24 common frames omitted

2019-10-29 10:17:19.716 ERROR 74904 --- [ntLoopGroup-2-1] c.c.t.t.n.h.NettyClientRetryHandler      : NettyClientRetryHandler - exception . 

io.netty.handler.codec.DecoderException: com.codingapi.txlcn.common.exception.SerializerException: Protocol message tag had invalid wire type.
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:648) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:583) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:500) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: com.codingapi.txlcn.common.exception.SerializerException: Protocol message tag had invalid wire type.
	at com.codingapi.txlcn.common.util.serializer.ProtostuffSerializer.deSerialize(ProtostuffSerializer.java:99) ~[txlcn-common-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.common.util.serializer.SerializerContext.deSerialize(SerializerContext.java:61) ~[txlcn-common-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.txmsg.netty.handler.ObjectSerializerDecoder.decode(ObjectSerializerDecoder.java:41) ~[txlcn-txmsg-netty-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.txmsg.netty.handler.ObjectSerializerDecoder.decode(ObjectSerializerDecoder.java:31) ~[txlcn-txmsg-netty-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[netty-all-4.1.31.Final.jar:4.1.31.Final]
	... 20 common frames omitted
Caused by: io.protostuff.ProtobufException: Protocol message tag had invalid wire type.
	at io.protostuff.ProtobufException.invalidWireType(ProtobufException.java:118) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.skipField(CodedInput.java:170) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.skipMessage(CodedInput.java:183) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.skipField(CodedInput.java:160) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.handleUnknownField(CodedInput.java:1254) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:462) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObject(CodedInput.java:321) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.ArraySchemas$PojoArray.readFrom(ArraySchemas.java:2227) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.ArraySchemas$Base.mergeFrom(ArraySchemas.java:326) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObject(CodedInput.java:321) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeUnsafeFieldFactory$15$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1217) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.PolymorphicThrowableSchema.readObjectFrom(PolymorphicThrowableSchema.java:243) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.PolymorphicThrowableSchema.readObjectFrom(PolymorphicThrowableSchema.java:199) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.PolymorphicThrowableSchema.mergeFrom(PolymorphicThrowableSchema.java:129) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObject(CodedInput.java:321) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeUnsafeFieldFactory$15$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1217) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.ObjectSchema.readObjectFrom(ObjectSchema.java:693) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.ObjectSchema.mergeFrom(ObjectSchema.java:350) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObject(CodedInput.java:321) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeUnsafeFieldFactory$15$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1217) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:359) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.CodedInput.mergeObject(CodedInput.java:321) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeUnsafeFieldFactory$13$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1038) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.runtime.RuntimeSchema.mergeFrom(RuntimeSchema.java:466) ~[protostuff-runtime-1.6.0.jar:1.6.0]
	at io.protostuff.IOUtil.mergeFrom(IOUtil.java:77) ~[protostuff-core-1.6.0.jar:1.6.0]
	at io.protostuff.ProtostuffIOUtil.mergeFrom(ProtostuffIOUtil.java:122) ~[protostuff-core-1.6.0.jar:1.6.0]
	at com.codingapi.txlcn.common.util.serializer.ProtostuffSerializer.deSerialize(ProtostuffSerializer.java:96) ~[txlcn-common-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	... 24 common frames omitted

2019-10-29 10:17:20.706 ERROR 74904 --- [io-12002-exec-5] c.c.txlcn.tc.core.DTXServiceExecutor     : 64c61a3e182532bc21e62a0d730c99c6 @group(non)
2019-10-29 10:17:20.719 ERROR 74904 --- [io-12002-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.reflect.UndeclaredThrowableException] with root cause

com.codingapi.txlcn.txmsg.exception.RpcException: request fail. non tx-manager is alive.
	at com.codingapi.txlcn.tc.txmsg.LoopMessenger.request(LoopMessenger.java:172) ~[txlcn-tc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.tc.txmsg.LoopMessenger.request0(LoopMessenger.java:142) ~[txlcn-tc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.tc.txmsg.LoopMessenger.request(LoopMessenger.java:138) ~[txlcn-tc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.tc.txmsg.LoopMessenger.joinGroup(LoopMessenger.java:89) ~[txlcn-tc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.tc.core.template.TransactionControlTemplate.joinGroup(TransactionControlTemplate.java:116) ~[txlcn-tc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.tc.core.transaction.lcn.control.LcnRunningTransaction.onBusinessCodeSuccess(LcnRunningTransaction.java:76) ~[txlcn-tc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.tc.core.DTXServiceExecutor.transactionRunning(DTXServiceExecutor.java:95) ~[txlcn-tc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.tc.aspect.weave.DTXLogicWeaver.runTransaction(DTXLogicWeaver.java:96) ~[txlcn-tc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at com.codingapi.txlcn.tc.aspect.TransactionAspect.runWithLcnTransaction(TransactionAspect.java:93) ~[txlcn-tc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629) ~[spring-aop-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:618) ~[spring-aop-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) ~[spring-aop-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168) ~[spring-aop-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) ~[spring-aop-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) ~[spring-aop-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.txlcn.demo.serviceb.DemoServiceImpl$$EnhancerBySpringCGLIB$$aec40c22.rpc(<generated>) ~[classes/:na]
	at org.txlcn.demo.serviceb.DemoController.rpc(DemoController.java:24) ~[classes/:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) ~[spring-webmvc-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) ~[spring-webmvc-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) ~[spring-webmvc-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) ~[spring-webmvc-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) ~[spring-webmvc-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) ~[spring-webmvc-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) ~[spring-webmvc-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) ~[spring-webmvc-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-embed-websocket-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) ~[spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:110) ~[spring-boot-actuator-1.5.6.RELEASE.jar:1.5.6.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106) ~[spring-boot-actuator-1.5.6.RELEASE.jar:1.5.6.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-8.5.16.jar:8.5.16]
	at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]


4. 能否定义超时回滚

StoneLYC avatar Oct 29 '19 02:10 StoneLYC

默认是有超时时间的吧

yizhishang avatar Oct 29 '19 02:10 yizhishang