我该如何解决Axon服务器流错误

问题描述 投票:0回答:1

我正在实现带有Axon + Spring Boot的CQRS。我的命令要处理很长的计算,这会导致大量的汇总。问题是几分钟后,Axon服务器似乎取消了该命令,并且在Axon服务器中引发了所有错误之后,请参见以下日志:

来自AXON服务器的日志:

io.netty.handler.codec.http2.Http2Exception $ StreamException:收到的未知流的数据帧11在io.netty.handler.codec.http2.Http2Exception.streamError(Http2Exception.java:129)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder $ FrameReadListener.shouldIgnoreHeadersOrDataFrame(DefaultHttp2ConnectionDecoder.java:531)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder $ FrameReadListener.onDataRead(DefaultHttp2ConnectionDecoder.java:183)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.Http2InboundFrameLogger $ 1.onDataRead(Http2InboundFrameLogger.java:48)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.DefaultHttp2FrameReader.readDataFrame(DefaultHttp2FrameReader.java:422)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.DefaultHttp2FrameReader.processPayloadState(DefaultHttp2FrameReader.java:251)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.DefaultHttp2FrameReader.readFrame(DefaultHttp2FrameReader.java:160)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.Http2InboundFrameLogger.readFrame(Http2InboundFrameLogger.java:41)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder.decodeFrame(DefaultHttp2ConnectionDecoder.java:118)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.Http2ConnectionHandler $ FrameDecoder.decode(Http2ConnectionHandler.java:390)〜[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:450)上[netty-codec-http2-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)[netty-codec-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441)[netty-codec-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)[netty-codec-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.DefaultChannelPipeline $ HeadContext.channelRead(DefaultChannelPipeline.java:1408)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.nio.AbstractNioByteChannel $ NioByteUnsafe.read(AbstractNioByteChannel.java:163)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)[netty-transport-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.util.concurrent.SingleThreadEventExecutor $ 5.run(SingleThreadEventExecutor.java:906)[netty-common-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.util.internal.ThreadExecutorMap $ 2.run(ThreadExecutorMap.java:74)[netty-common-4.1.35.Final.jar!/:4.1.35.Final]在io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)[netty-common-4.1.35.Final.jar!/:4.1.35.Final]在java.lang.Thread.run(未知来源)[na:1.8.0_181]

这就是我所拥有的,我不知道为什么...我正在使用最新版本的axon和axon服务器(4.2.1)

spring-boot netty cqrs axon
1个回答
0
投票

Axon Server的命令超时默认设置为5分钟(300_000 ms)。您可以通过设置属性axoniq.axonserver.default-command-timeout来增加此超时。该属性的值是超时(以毫秒为单位)。默认情况下,最大邮件大小为4Mb。您可以通过在axonserver.properties中设置属性axoniq.axonserver.max-message-size来增加它。

希望这可以解决您的问题。

马克

© www.soinside.com 2019 - 2024. All rights reserved.