【发布时间】:2021-01-15 13:41:25
【问题描述】:
我正在大量使用基于 webflux 的 Spring Boot 应用程序。 我面临的问题是,我必须调用一项服务,这是一个传统的 Spring Boot 应用程序,并且不是响应式的!
这是一个与上述遗留系统的想法接近的示例端点:
@RequestMapping(value = "/people/**", method = RequestMethod.GET)
public ResponseEntity<InputStreamResource> getPerson(HttpServletRequest request) {
String pattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
String key = new AntPathMatcher().extractPathWithinPattern(pattern, request.getRequestURI());
return personService.getPersonByKey(key);
}
我知道我无法通过此实现真正的反应性优势,我可以在这里实现无阻塞和阻塞的快乐媒介吗?
谢谢
【问题讨论】:
-
如果你在你的WebFlux应用中使用WebClient调用传统的spring boot app应该没问题。 WebClient 以不阻塞的方式实现,在调用传统的 Spring MVC 应用程序时也是如此。阅读更多:stackoverflow.com/questions/55939068/…
标签: spring-boot spring-webflux reactor