加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – Spring Reactive MVC vs @EnableAsync

发布时间:2020-12-15 01:46:59 所属栏目:大数据 来源:网络整理
导读:我是Spring Reactive Modules的新手.我得到的基本上是,它的核心是反应式编程,我们可以开发端到端的反应式服务. 但是,假设我只想将我的控制器设置为Async,这样我就可以在多个线程上工作并发送一个像“任务已启动”(特别是这个)的回复,让我的工作继续并关闭HTT

我是Spring Reactive Modules的新手.我得到的基本上是,它的核心是反应式编程,我们可以开发端到端的反应式服务.

但是,假设我只想将我的控制器设置为Async,这样我就可以在多个线程上工作并发送一个像“任务已启动”(特别是这个)的回复,让我的工作继续并关闭HTTP链接.

我还了解了@EnableAsync和@Async来制作Async方法.

如果我只是在我的控制器方法上面使用@Async,我想做异步.它工作但是,这是一个好习惯吗?我们可以在生产代码中使用它吗?

最佳答案
我没有看到使用@Asyncas的任何问题,这将释放请求线程.但这是一种简单的方法,它有很多局限性.请注意,如果要处理反应流,则没有能够使用API??的API.例如,如果@Async方法调用另一个,则第二个不会是异步.

相反,Webflux将带来最完整的API(用Java)来处理反应方式.你只能用@Async做什么.例如,使用Flux,您可以反复处理或访问多个层,这使您无法达到您的工作方式.

然而,它会为你带来一个新的世界,所以如果你只想发布请求的主题,你的方法就好了,但如果你需要更多,你将不得不以更复杂的方式处理它.

现在,如果您想回答HTTP请求然后异步执行工作,那么这不是您想要的.我建议您有一个JMS提供程序(如ActiveMQ),您的控制器将发送要由作业处理的消息并回答请求.

希望能帮助到你!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读