RocketMq5.0集成spring boot失败
生产端报错 Caused by: java.util.concurrent.CancellationException: Task was cancelled.
没有什么有用的信息,只说时任务取消
参考官方的文档,使用docker compose的方式
由于有端口冲突,所以修改了端口映射,我想这应该没有影响
本地客户端使用的rocketmq-v5-client-spring-boot-starter: 2.3.1,依赖rocketmq-client-java: 5.0.7
服务端使用的是镜像:apache/rocketmq:5.3.3
检查路由 是通的
docker exec -it rmqbroker sh mqadmin topicRoute -n namesrv:9876 -t test
{
"brokerDatas":[
{
"brokerAddrs":{0:"192.168.1.4:10911"
},
"brokerName":"broker-a",
"cluster":"DefaultCluster",
"enableActingMaster":false
}
],
"filterServerTable":{},
"queueDatas":[
{
"brokerName":"broker-a",
"perm":6,
"readQueueNums":8,
"topicSysFlag":0,
"writeQueueNums":8
}
]
}
其他配置
- 设置broker的IP1和IP2为宿主机的地址
- proxy为local
github上有issue:1047但是没人回答,貌似时bug,不确定;
用tools启动quickstat/Producer类可以发送成功,但是它用的方法时rocketmq-client的方法,不是rocketmq-client-java包中的方法
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
尝试和很久都不行,日志没看出哪里有报错什么的。
有谁知道可以帮忙回复一下,谢谢~
报错完整堆栈
java.lang.IllegalStateException: Failed to start RocketMQ push consumer
at org.apache.rocketmq.client.support.DefaultListenerContainer.start(DefaultListenerContainer.java:332) ~[rocketmq-v5-client-spring-boot-2.3.1.jar:2.3.1]
at org.apache.rocketmq.client.autoconfigure.ListenerContainerConfiguration.startContainer(ListenerContainerConfiguration.java:85) ~[rocketmq-v5-client-spring-boot-2.3.1.jar:2.3.1]
at org.apache.rocketmq.client.annotation.RocketMQMessageListenerBeanPostProcessor.start(RocketMQMessageListenerBeanPostProcessor.java:73) ~[rocketmq-v5-client-spring-boot-2.3.1.jar:2.3.1]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:288) ~[spring-context-6.1.5.jar:6.1.5]
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:471) ~[spring-context-6.1.5.jar:6.1.5]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:260) ~[spring-context-6.1.5.jar:6.1.5]
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:205) ~[spring-context-6.1.5.jar:6.1.5]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:981) ~[spring-context-6.1.5.jar:6.1.5]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.1.5.jar:6.1.5]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.4.jar:3.2.4]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.4.jar:3.2.4]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.4.jar:3.2.4]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.4.jar:3.2.4]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.4.jar:3.2.4]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.4.jar:3.2.4]
at site.dengwei.mgmt.MgmtApplication.main(MgmtApplication.java:13) ~[classes/:na]
Caused by: java.lang.IllegalStateException: Expected the service PushConsumerImpl-0 [FAILED] to be RUNNING, but the service has FAILED
at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractService.checkCurrentState(AbstractService.java:381) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractService.awaitRunning(AbstractService.java:305) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractIdleService.awaitRunning(AbstractIdleService.java:165) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.client.java.impl.consumer.PushConsumerBuilderImpl.build(PushConsumerBuilderImpl.java:128) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.client.support.DefaultListenerContainer.start(DefaultListenerContainer.java:330) ~[rocketmq-v5-client-spring-boot-2.3.1.jar:2.3.1]
... 16 common frames omitted
Caused by: java.util.concurrent.CancellationException: Task was cancelled.
at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.cancellationExceptionWithCause(AbstractFuture.java:1543) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:586) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:567) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:91) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.client.java.impl.ClientImpl.startUp(ClientImpl.java:188) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.client.java.impl.consumer.PushConsumerImpl.startUp(PushConsumerImpl.java:162) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.com.google.common.util.concurrent.Callables.lambda$threadRenaming$3(Callables.java:103) ~[rocketmq-client-java-5.0.7.jar:na]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
20250722更新
将日志等级改为debug,发现更多报错,这些报错只在第一次报,后面的报错跟上面一样了。
2025-07-22 23:05:15.395 DEBUG 14188 --- [-worker-ELG-1-6] o.a.r.shaded.io.grpc.ChannelLogger : [Subchannel<7>: (IPAuthority)] NettyClientTransport<20>: (/192.168.1.4:8081) Terminated
2025-07-22 23:07:26.352 DEBUG 14188 --- [-worker-ELG-1-7] o.a.r.shaded.io.grpc.ChannelLogger : [Subchannel<7>: (IPAuthority)] CONNECTING after backoff
2025-07-22 23:07:26.352 DEBUG 14188 --- [-worker-ELG-1-7] o.a.rocketmq.shaded.grpc.netty.Utils : Using custom allocator: forceHeapBuffer=false, defaultPreferDirect=true
2025-07-22 23:07:26.353 DEBUG 14188 --- [-worker-ELG-1-7] o.a.r.shaded.io.grpc.ChannelLogger : [Subchannel<7>: (IPAuthority)] Started transport NettyClientTransport<21>: (/192.168.1.4:8081)
2025-07-22 23:07:26.353 TRACE 14188 --- [-worker-ELG-1-8] o.a.r.shaded.io.grpc.ChannelLogger : [NettyClientTransport<21>: (/192.168.1.4:8081)] WaitUntilActive started
2025-07-22 23:07:26.353 DEBUG 14188 --- [-worker-ELG-1-7] o.a.r.shaded.io.grpc.ChannelLogger : [Channel<5>: (ipv4:192.168.1.4:8081)] Entering CONNECTING state with picker: Picker{result=PickResult{subchannel=null, streamTracerFactory=null, status=Status{code=OK, description=null, cause=null}, drop=false}}
2025-07-22 23:07:26.353 DEBUG 14188 --- [-worker-ELG-1-8] o.a.r.shaded.io.grpc.ChannelLogger : [NettyClientTransport<21>: (/192.168.1.4:8081)] WaitUntilActive completed
2025-07-22 23:07:26.355 DEBUG 14188 --- [-worker-ELG-1-8] o.a.r.s.grpc.netty.NettyClientHandler : Caught a connection error
org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception: First received frame was not SETTINGS. Hex dump for first 5 bytes: 485454502f
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception.connectionError(Http2Exception.java:109) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.verifyFirstFrameIsSettings(Http2ConnectionHandler.java:353) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.decode(Http2ConnectionHandler.java:247) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:453) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:510) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:449) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[rocketmq-client-java-5.0.7.jar:na]
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[rocketmq-client-java-5.0.7.jar:na]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
2025-07-22 23:07:26.355 DEBUG 14188 --- [-worker-ELG-1-8] o.a.r.shaded.io.grpc.ChannelLogger : [Subchannel<7>: (IPAuthority)] NettyClientTransport<21>: (/192.168.1.4:8081) SHUTDOWN with INTERNAL(http2 exception)[org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception: First received frame was not SETTINGS. Hex dump for first 5 bytes: 485454502f]
2025-07-22 23:07:26.355 DEBUG 14188 --- [-worker-ELG-1-8] o.a.r.shaded.io.grpc.ChannelLogger : [Subchannel<7>: (IPAuthority)] TRANSIENT_FAILURE (INTERNAL(http2 exception)[org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception: First received frame was not SETTINGS. Hex dump for first 5 bytes: 485454502f]). Will reconnect after 141,393,825,913 ns
2025-07-22 23:07:26.357 DEBUG 14188 --- [-worker-ELG-1-8] o.a.r.shaded.io.grpc.ChannelLogger : [Channel<5>: (ipv4:192.168.1.4:8081)] Entering TRANSIENT_FAILURE state with picker: Picker{result=PickResult{subchannel=null, streamTracerFactory=null, status=Status{code=INTERNAL, description=http2 exception, cause=org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception: First received frame was not SETTINGS. Hex dump for first 5 bytes: 485454502f
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception.connectionError(Http2Exception.java:109)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.verifyFirstFrameIsSettings(Http2ConnectionHandler.java:353)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.decode(Http2ConnectionHandler.java:247)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:453)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:510)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:449)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at org.apache.rocketmq.shaded.io.grpc.netty.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
}, drop=false}}
2025-07-22 23:07:26.357 DEBUG 14188 --- [-worker-ELG-1-8] o.a.r.s.grpc.netty.NettyClientHandler : Network channel is closed
2025-07-22 23:07:26.357 DEBUG 14188 --- [-worker-ELG-1-8] o.a.r.shaded.io.grpc.ChannelLogger : [Subchannel<7>: (IPAuthority)] NettyClientTransport<21>: (/192.168.1.4:8081) Terminated
本文来自博客园,作者:衣来伸手饭来张口,转载请注明原文链接:https://www.cnblogs.com/autowin/p/18994611

浙公网安备 33010602011771号