`

spring-amqp官方示例Stock Trading

    博客分类:
  • amqp
 
阅读更多
<bean id="stockServiceGateway" class="org.springframework.amqp.rabbit.stocks.gateway.RabbitStockServiceGateway">
		<property name="rabbitTemplate">
			<rabbit:template connection-factory="connectionFactory" routing-key="app.stock.request"
				message-converter="jsonMessageConverter"/>
		</property>
		<property name="defaultReplyTo" value="fanout://broadcast.responses/"></property>
	</bean>
<rabbit:fanout-exchange name="broadcast.responses">
		<rabbit:bindings>
			<rabbit:binding queue="tradeQueue"></rabbit:binding>
		</rabbit:bindings>
	</rabbit:fanout-exchange>

  太粗心了,之前将第二个的name写成了broadcast.response,少写了一个s,导致测试通不过。

 

spring-amqp有一个官方示例Stock Trading(股票交易),文档在Spring AMQP - Reference Documentation,代码放置在GitHub上,名叫spring-amqp-samples,该项目原来是CS架构,C端为Swing开发,后来改为BS架构,变成了Web项目,因此看代码发现src/main/resources下的client-*.xml没有用时不要觉得奇怪。简单将Stock Trading运行过程描述一下:

 

1. "/trade":POST方式,将页面提交过来的参数封装成TradeRequest并将其作为参数调用下面的spring-rabbit服务网关,最后将这个TradeRequest返回给浏览器。

2. spring-rabbit服务网关:将收到的TradeRequest发送到Default Exchange,routing key为"app.stock.request"(消息将发送到app.stock.request这个队列),同时指定消息返回的exchange为"fanout://broadcast.responses/"。

3. Queue:app.stock.request

4. spring-rabbit监听器:监听app.stock.request队列,每收到一个TradeRequest,经过一系列的处理,生成TradeResponse,将之发送到exchange"broadcast.response"。

5. Fanout Exchange:broadcast.responses,binding(绑定)Queue:tradeQueue

6. Queue:tradeQueue

7. spring-rabbit监听器:监听tradeQueue队列,每收到一个TradeResponse,将之缓存并移除缓存中已经超时的TradeResponse。

 

分享到:
评论

相关推荐

    spring-amqp-1.4.0.RELEASE.jar

    spring-amqp-1.4.0.RELEASE.jar 官方正版jar包下载

    spring-amqp-2.0.3.RELEASE.jar

    spring-amqp-2.0.3.RELEASE.jar

    spring-amqp 相关jar

    Spring AMQP 是一个由 Spring Framework 提供的框架,它允许开发者使用 Spring 的编程模型与 RabbitMQ 消息中间件进行交互。RabbitMQ 是一种流行的开源消息代理,它实现了 Advanced Message Queuing Protocol (AMQP)...

    spring-boot-starter-amqp-2.1.3.RELEASE.jar

    java运行依赖jar包

    spring-amqp,spring-retry,spring-rabbit

    标题中的"spring-amqp"、"spring-retry"和"spring-rabbit"是Spring框架的三个关键组件,它们主要用于构建高效、可靠的分布式系统,尤其是在消息传递和错误处理方面。 1. **Spring AMQP**: Spring AMQP是Spring框架...

    spring-amqp-2.2.0.RELEASE.jar

    spring-amqp-2.2.0.RELEASE

    spring-cloud-config + spring-cloud-bus-amqp实现分布式集群配置动态更新

    Spring Cloud Config 和 Spring Cloud Bus AMQP 的结合使用为解决这一问题提供了一种优雅的解决方案。让我们深入探讨这两个组件以及它们如何协同工作来实现配置的动态更新。 Spring Cloud Config 是一个用于微服务...

    spring-boot-starter-amqp-2.2.0.RELEASE.jar

    spring-boot-starter-amqp-2.2.0.RELEASE

    spring-amqp 1.5.3源码

    接下来,我们关注`spring-amqp-samples`,这是一个快速入门和示例项目,它展示了如何在实际应用中使用Spring AMQP。在源码中,你可以找到如何配置RabbitTemplate、定义消息监听器、创建和使用MessageConverter的实例...

    rabbitmq学习11:基于rabbitmq和spring-amqp的远程接口调用

    在本主题"rabbitmq学习11:基于rabbitmq和spring-amqp的远程接口调用"中,我们将深入探讨如何使用RabbitMQ作为消息中间件,结合Spring-AMQP库实现RPC模式。 RabbitMQ是一个开源的消息代理和队列服务器,它基于AMQP...

    rabbitmq 路由spring-amqp实现

    在`rabbitmq-spring-amqp`压缩包中,可能包含了一个示例项目,该项目展示了如何配置和使用Spring AMQP来实现RabbitMQ的路由功能。通过阅读源代码,你可以了解到具体的XML配置或Java配置方式,以及如何在生产者和消费...

    spring-amqp-1.2.2.RELEASE.zip

    【标题】"spring-amqp-1.2.2.RELEASE.zip" 涉及的知识点主要围绕Spring AMQP框架的1.2.2版本。Spring AMQP是Spring框架的一个扩展,它提供了对Advanced Message Queuing Protocol (AMQP)的支持,AMQP是一种标准的...

    spring-amqp文档.zip

    《Spring AMQP:Java消息驱动的强大工具》 在IT行业中,Spring框架因其强大的功能和灵活性而备受推崇,尤其是在企业级应用开发中。Spring AMQP作为Spring框架的一部分,为开发者提供了与Advanced Message Queuing ...

    JMeter-Rabbit-AMQP-0.0.1-SNAPSHOT.jar

    JMeter-Rabbit-AMQP解决中文乱码问题,加入编码格式UTF-8的编码格式,发送MQ的时候传中文可以正常显示

    spring-amqp-reference-1.6.1.RELEASE

    以上仅是 Spring AMQP 1.6.1.RELEASE 版本的部分亮点介绍,更多详细信息可以参考官方文档或其他相关资料。通过学习这些新特性和改进,开发者可以更好地利用 Spring AMQP 来构建高效、可靠的消息处理系统。

    rabbitmq学习10:使用spring-amqp发送消息及异步接收消息

    标题中的“rabbitmq学习10:使用spring-amqp发送消息及异步接收消息”表明了本次讨论的主题,即如何在Spring框架中利用Spring AMQP组件与RabbitMQ进行交互,实现消息的发送和异步接收。RabbitMQ是一个开源的消息代理...

    spring-amqp-reference.pdf

    文档《Spring AMQP Reference》是Spring AMQP模块的官方参考手册,为开发人员提供了使用Spring AMQP编程的具体指南。 2. 标签JAVA AMQ说明文档是针对使用Java语言的开发者,而AMQ是指高级消息队列协议,这表明文档...

    Laravel开发-laravel-amqp

    **Laravel 开发与 AMQP 整合** 在 Laravel 框架中,开发者经常需要处理异步任务、后台队列以及实时通信等场景。AMQP(Advanced Message Queuing Protocol)是一个开放标准,用于在分布式系统中进行消息传递,常用于...

    spring-amqp-java-8:在 Java 8 上运行的示例项目

    spring-amqp-java-8 在 Java 8 上运行的示例项目( ) 要求 RabbitMQ 3.4.2 Java 8 Java 7 Maven 3 跑步 确保您正在运行 Java 8 ( java -version ) mvn install java -jar target/spring-amqp-java-8-0.1.0....

    spring-amqp-logback:使用AMQP + LOGBACKLOG4j进行日志记录的最佳实践

    spring-amqp-logback/log4jBest practice for logging with AMQP+LOGBACK/log4j (使用Rabbitmq+logback/log4j来中心化存储你的业务日志)包含 日志发布端(logback and log4j) 和 日志接收端 两个最佳实践例子。...

Global site tag (gtag.js) - Google Analytics