问题描述
拒绝/丢弃到 Reactor Tcpserver 的传入连接的正确方法是什么?
我目前有以下内容:
Tcpserver.create()
.doOnConnection {
if (notAllowed(it.address()) {
throw IllegalStateException("Connection from ${it.address()} denied")
}
}
.handle(...)
.bindNow()
它似乎工作正常,并且成功地断开了来自我的 notAllowed
列表中的远程地址的连接。但是每次它都会将堆栈跟踪打印到控制台,并且总体上看起来不太好。
解决方法
我建议您不要抛出 IllegalStateException
,而是调用 Connection#dispose
TcpServer.create()
.doOnConnection {
if (notAllowed(it.address()) {
it.dispose()
}
}
.handle(...)
.bindNow()