如何修复errorcallbacknotimplement-> comcellationException:在反应性爪哇中处置?
- 我正在进行测试,以了解如何发送通知。这是 已发送,我获得了测试结果状态:status_ok
- gatewayrsocketclient通过protobuff rpc方法创建的
@Test
public void sendRequestToService() {
RSocket socket = RSocketConnector
.connectWith(TcpClientTransport.create("127.0.0.1", 7576))
.block();
Mono<GatewayResponse> res = new GatewayRSocketClient(socket)
.requestResponse(GatewayRequest.newBuilder()
.setMethod(Method.METHOD_POST)
.setUri("/notification/save-token")
.putParams("token", "12345678")
.build());
System.out.println("STATUS: " + res.block().getStatus());
}
这是要调用的方法,并进一步向下链条,直到将消息发送到firebase
@Override
public Mono<GatewayResponse> requestResponse(GatewayRequest message, ByteBuf metadata)
{
return serv.sendMessage(new NotificationDTO("first notification", Event.CREDITING, "1234567"))
.map(res -> GatewayResponse.newBuilder()
.setStatus(res ? Status.STATUS_OK : Status.STATUS_NOT_FOUND)
.build());
}
the firebase该测试成功运行,但我得到了很长的stacktrace。
我搜索了解决方案,没有成功。流动被抛出,显然是由于例外。 如何修复?
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.util.concurrent.CancellationException: Disposed
Caused by: java.util.concurrent.CancellationException: Disposed
at io.rsocket.internal.UnboundedProcessor.dispose(UnboundedProcessor.java:550) ~[rsocket-core-1.1.1.jar:na]
at io.rsocket.transport.netty.TcpDuplexConnection.doOnClose(TcpDuplexConnection.java:67) ~[rsocket-transport-netty-1.1.1.jar:na]
at io.rsocket.internal.BaseDuplexConnection.lambda$new$0(BaseDuplexConnection.java:30) ~[rsocket-core-1.1.1.jar:na]
问题在于插座在测试中停止,因为测试结束并且因此抛出了例外。问题是如何正确关闭套筒。我没有在。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论