问题标签 [reactor-netty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - Spring webflux 的 Reactor 中的 ReplaySubject (RxJava) 等价物是什么?
Spring webflux 的 Reactor 中的 ReplaySubject (RxJava) 等价物是什么?
我需要一个热的可观察频道,它可以有 N 个订阅者并保存以前发布的元素,如 rxJava 中的 ReplaySubject。感谢您的评论,我正在使用 Spring webflux。
我在 Reactor 中找不到类似 ReplaySubject 的东西。
如果没有 ReplaySubject 的实现,我该如何实现?,我有一些代码,例如:
显然这不是线程安全的,有人有更好的小鬼。如果您认为这不是那么糟糕,那么在这种情况下您应该使用哪些线程安全数据结构?
java - 如何使用 Spring WebClient 禁用 cookie
有谁知道是否有办法使用 Reactor Netty HttpClient 在 Spring WebClient 中禁用 cookie 管理?
我注意到WebClient.Builder和HttpClient API 都提供了一种将 cookie 添加到出站请求的方法,但我正在寻找一种方法来完全禁止它们(如果存在)。这类似于disableCookieManagement
Apache 的HttpComponentClientBuilder。
java - 如何配置 Spring-Weflux WebSocket 应用程序以使用 WSS 而不是 WS
我有一个运行 Netty 的 Spring-Webflux 服务器。目前,客户端通过 连接ws
,但我需要他们通过wss
.
如何将其配置为仅接受wss
?
spring - 我们如何将 Spring WebClient 连接到 Unix Domain Socket?
Spring 的 WebClient 底层使用访问 Unix 域套接字的 Netty。我正在尝试使其访问/var/run/docker.sock
,以便我可以根据需要使用/services
docker-java 库不支持的 API 执行操作。
我目前的解决方法是创建一个 socat 容器,将 Docker 套接字公开给内部网络中的 TCP,这反过来又允许我使用 WebClient 的 HTTP 连接。
虽然想一想,但拥有这种解决方法的好处之一是不需要在管理器节点上放置更大的 Java 应用程序。
但是,我仍然很好奇如何连接到 unix 域案卷。
reactor-netty - 使用reactor tcpclient时如何释放池连接
当我使用带有固定 ConnectionProvider 的 TCP 客户端时,我无法重用连接。
他们使连接超过了 maxConnection 变量。
这就是我写的。
即使我像 'ConnectionProvider.fixed("TEST", 10)' 那样使用 10 个 maxConnection,也有 22 个空闲连接。我的天啊
//NettyClient.java
//NettyClientTest.java
14:55:27.397 [reactor-tcp-nio-5] 调试 reactor.netty.resources.PooledConnectionProvider - [id: 0x3444910e, L:/0:0:0:0:0:0:0:1:53928 !R:/0:0:0:0:0:0:0:1:33333] 通道已清理,现在 0 个活动连接和 22 个非活动连接
spring-boot - Spring Webflux:WebClient处理Expect:100-继续
我对 Spring Webflux 和使用 WebClient 相当陌生。例如,我所拥有的 POST-Request 正在执行如下操作:
实际上,代码稍微复杂一些,但这个示例足以作为基本问题的演示。无论如何,这确实有效,我得到了想要的结果。现在由于资源可能非常大,我想使用“期望:100-继续”标题。
问题是,我现在得到的是一个空的 100 响应,没有任何关于如何触发剩余请求的线索。我在 Google 或 Stack Overflow 上找不到任何关于如何解决此问题的信息。
我将不胜感激任何指示。
java - 如何在 reactor-netty 中配置池连接空闲超时
我正在使用带有连接池的 reactor-netty http 客户端(0.7.X 系列),并且想配置池连接的空闲超时,但不知道在哪里。
更准确地说,我需要配置 reactor-netty http 客户端连接池,使其自动关闭在可配置超时内未看到任何活动的连接。这些连接是打开的,但在某些(可配置的)时间内没有字节被传入或传出。
如何配置 reactor-netty http 客户端以抢先关闭空闲连接?
proxy - 带有代理服务器的 Spring WebClient:缺少 HTTP 标头
我正在使用spring-boot-starter-webflux 2.1.3.RELEASE中的 Spring WebClient来检查代理服务器的匿名级别。在我通过一些代理服务器使用 WebClient 向自定义 node.js http 服务器发出一些请求后,我的请求中没有与代理相关的 HTTP 标头。我错过了例如x-forwarded-for, via, x-proxy-id
..只是remote-address
暴露了。
据我了解,netty 客户端通过tcp CONNECT
每种代理类型(HTTP、SOCKS4/5)连接到代理,这就是缺少标头的原因。
问题: 有没有办法使用这种方法获取经典的代理 HTTP 标头,或者是否有另一种方法可以使用 WebClient 配置代理服务器?
我的示例配置:
预期的标题
实际标题
project-reactor - Reactor Netty - 如何使用延迟通量发送
在 Reactor Netty 中,当通过 向 TCP 通道发送数据时out.send(publisher)
,人们会期望任何发布者都能正常工作。但是,如果我们使用更复杂的带有延迟元素的而不是简单的立即Flux
数,那么它就会停止正常工作。例如,如果我们使用这个 hello world TCP 回显服务器,它会按预期工作:
但是,如果我们更改out.sendString
为
那么我们期望对于每个接收到的项目都会产生一个延迟一秒的输出。
但是,服务器的行为方式是,如果它在间隔期间接收到多个项目,它将只为第一个项目生成输出。例如,下面我们在第一秒输入aa
and ,但只生成输出(一秒后):bb
AA
然后,如果我们稍后键入额外的行,我们会得到输出(一秒钟后),但来自前一个输入:
有什么想法可以send()
延迟按预期工作Flux
吗?
reactor-netty - TcpClient - 如何发送消息和接收响应?
我想做如下的事情:
感谢任何回应。
我的单元测试如下:
该demo
方法用于组装一个 tlv(我们的自定义协议)对象。
关键日志如下:
创建的 TcpClient 不能正常工作,我不知道如何纠正,有人可以指出我正确执行此操作的方法。