【发布时间】:2019-10-22 22:26:27
【问题描述】:
让我们想象一个场景,其中有一个使用 Servlet 堆栈编写的旧应用程序,您决定将其迁移到 Spring Webflux。假设首先要迁移的是RestTemplate 到WebClient。
处理WebClient 返回的Mono 或Flux 的首选方式是什么?调用 block 似乎是好的解决方案,因为应用程序使用 RestTemplate 无论如何都会阻塞。 subscribe 应该更好一些,因为它有回调,但也许你必须等待才能继续。另外,对于subscribe,我们是否需要处理Disposable,如果需要,如何处理,因为我不确定在哪里最好调用dispose?
还有一个关于 JDBC 的问题。使用Schedulers.boundedElastic() 有多危险?据我了解,拥有一个单独的线程池应该会有所帮助,尤其是在使用 Netty 的情况下。这并不理想,但在 R2DBC 驱动程序达到 1.0.0 之前,它是否可以作为临时解决方案?如果应用程序使用 Tomcat 怎么办? Tomcat默认有更多线程,情况会更好吗?
【问题讨论】:
标签: spring spring-mvc spring-webflux project-reactor