Spring AMQP RPC vs Spring AMQP Request / Reply Messaging

时间:2017-10-04 07:44:08

标签: java spring spring-amqp

我一直在学习如何使用spring框架,到目前为止一直很好。我已经从Spring Initializr创建了一个应用程序 - http://start.spring.io/,我已经能够设置多个控制器甚至设置安全性,一切正常。

我在Apache Tomcat上运行我的应用程序。我现在想使用Spring AMQP,我想用它的方式是这样的。我将在浏览器中执行一个控制器方法,并在队列中添加一条消息,该消息应由消费者(可能是线程池驱动的消费者)使用,并将结果返回给用户。

例如,我想向队列添加一条消息并将json返回给用户。 由于我从控制器执行添加消息,我希望向用户显示响应。

在浏览了兔子mq文档之后,我认为RPC会帮助我将消息发布到队列中,并且它将被消费并且结果返回给用户。我使用php设置了兔子mq示例,我看到它有效。

然而,通过浏览春季amqp文档,我遇到了这三个

-Message Listener https://docs.spring.io/spring-amqp/docs/1.3.5.RELEASE/reference/html/amqp.html#containerAttributes

-Listener Concurrency https://docs.spring.io/spring-amqp/docs/1.3.5.RELEASE/reference/html/amqp.html#listener-concurrency

- 请求/回复消息https://docs.spring.io/spring-amqp/docs/1.3.5.RELEASE/reference/html/amqp.html#request-reply

-RPC https://www.rabbitmq.com/tutorials/tutorial-six-spring-amqp.html

我的问题是,如果我想让用户得到结果,我会选择RPC或请求/回复消息,还是他们是同一个东西?

其次,在我做的最后一个RPC示例中,我像java_listener.java一样单独启动了侦听器,以便能够使用消息。

由于我使用spring intilizr启动了我的应用程序而且我正在运行tomcat,我是否需要从tomcat进程中单独启动使用者?

感谢。

0 个答案:

没有答案