【问题标题】:How to make Spring Boot REST controller asynchronous?如何使 Spring Boot REST 控制器异步?
【发布时间】:2020-11-13 10:27:43
【问题描述】:

我的应用程序是简单的 3 层 Spring Boot REST Web 服务,具有通常的同步端点。 但是由于从我的服务发送请求的下游系统获得响应的时间很长(大约 60 秒),我需要向我的服务添加对异步 REST 调用的支持,以使上游系统免于等待响应。换句话说,如果对下游系统的响应将花费超过 60 秒(超时),那么上游系统会中断与我的服务的连接并继续执行...

但是当响应到来时,我的服务使用上游系统的“reply-to”标头将响应发送到上游系统。

以上所有的东西都是回调或 webhook。

但是我没有找到任何实现的例子。

如何实现这个机制? 我怎样才能找到更多信息? Spring Boot 是否可以开箱即用地实现它?

感谢您的关注!

【问题讨论】:

    标签: spring-boot rest


    【解决方案1】:

    您可以使用 Spring 中的 @Async 注解。您还需要通过设置@EnableAsync 在您的应用程序中启用此功能。

    重要的一点是,带有@Async 注解的方法应该与调用它的类不同。这将让 Spring 代理拦截调用并有效地异步执行。

    请找here官方教程。

    【讨论】:

      猜你喜欢
      • 2019-09-27
      • 1970-01-01
      • 2022-11-29
      • 1970-01-01
      • 2016-09-18
      • 2020-01-24
      • 2020-12-21
      • 2014-03-18
      • 2018-06-23
      相关资源
      最近更新 更多