activeMQ消费者处理完消息后,如何实现页面转跳

发布于 2021-12-01 18:58:33 字数 375 浏览 783 评论 4

@z_jordon 你好,想跟你请教个问题:

我在controller层把请求数据压入队列,然后在消费者类把请求拿出来,再去发起请求,以此控制并发问题。问题来了,消息经过队列,被消费者类拿出来后,发起请求后,并没有转跳到指定页面,如何实现这个功能,项目架构spring+activeMQ4


 activeMQ消费者处理完消息后,如何通知发送者,实现页面转跳

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

风透绣罗衣 2021-12-02 08:12:54

@
清靜無虞 请教一下,MQ正确使用方法,能说说吗?

风透绣罗衣 2021-12-02 00:19:45

如果要等待结果,那还不如直接同步处理你的任务,处理完就跳转。

深巷少女 2021-12-01 23:15:22

说一下我的理解,按照你的描述你好像是要实现这样的功能:

请求进入controller的某个方法后,把请求数据放入mq,消费者接收这个消息并处理完后,需要controller中的原方法根据mq处理结果实现页面跳转。

MQ不是这样用的,你的需求只不过是想把业务处理给异步化而已。要么你还是这样用,但是在controller中把数据提交给MQ后,controller就跳页面,也就是说把数据放进mq后,就认为成功了,http响应成功,至于mq消息的处理,那是另外一个过程,不过一般都不会这样用。

一般为了提高性能,实现读写分离后,读尽量加缓存,写只要能异步化的尽量异步化,不能异步化的就还是同步处理。看你在用spring,spring组织本身就有一个叫reactor(https://github.com/reactor/reactor-spring)的东西,支持异步化,另外像google的guava中也有eventbus能实现异步化,java本身也有Callable、Future机制等。你在controller中就使用activeMQ这种跨进程跨网络的组件肯定是不合适的,并且你还想在同一个http请求中得到mq的执行结果,也不现实。

尐偏执 2021-12-01 20:17:57

页面轮询处理状态,或许通过websocket之类的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文