3

我正在使用带有 netty 反应器的 webflux。该框架允许在@RestController 类中注册一个常规的阻塞方法(例如,返回一个字符串或一些POJO)。问题是请求在 netty 的事件循环上运行,您不想阻止它。我的问题是 - 有没有办法将这些方法(例如通过查看返回类型)一般地卸载到不同的专用线程池?

我已经尝试在 WebFilter 中检查目标方法,然后用于publishOn切换到不同的调度程序 - 这使得过滤器链在该调度程序上运行,但方法本身再次在 eventloop 上调用。我遵循了代码路径,发现Mono.zipinInvocableHandlerMethod::getMethodArgumentValues是事件循环接管的点。

是否有内置的解决方案来控制哪个线程池正在运行方法调用?

4

0 回答 0