`
yodg2gg
  • 浏览: 10629 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

(转)Spring AMQP-快速入门

 
阅读更多
  • Spring AMQP项目介绍
Spring AMQP项目将Spring的核心思想应用于基于AMQP的消息解决方案的开发上。它提供了“template”这个高度抽象来发送和接收信息。它同样提供了消息驱动的实体,这些实体存在于“listener container”容器中。这些库不但使得AMQP资源的管理变得容易,与此同时促进了依赖注入和声明式配置的使用。在所有的情况下,你将看到许多Spring框架提供的类似于JMS的便利。
这个项目包含两部分:
1、spring-amqp的基础抽象;
2、spring-rabbit这个RabbitMQ的实现
特点:
1、异步处理没有绑定消息的监听容器;
2、RabbitTemplate发送和接收消息;
3、RabbitAdmin自动声明队列,交换和绑定。
 
  • Spring AMQP快速入门
推荐开始在你的项目中使用spring-amqp的快捷方式是使用依赖管理系统,例如Maven和Gradle,配置片段如下:
  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.amqp</groupId>
  4. <artifactId>spring-rabbit</artifactId>
  5. <version>1.4.0.RELEASE</version>
  6. </dependency>
  7. </dependencies>
使用Java编码的方式:
  1. publicstaticvoid main(finalString... args)throwsException{
  2. ConnectionFactory cf =newCachingConnectionFactory();
  3. // set up the queue, exchange, binding on the broker
  4. RabbitAdmin admin =newRabbitAdmin(cf);
  5. Queue queue =newQueue("myQueue");
  6. admin.declareQueue(queue);
  7. TopicExchange exchange =newTopicExchange("myExchange");
  8. admin.declareExchange(exchange);
  9. admin.declareBinding(
  10. BindingBuilder.bind(queue).to(exchange).with("foo.*"));
  11. // set up the listener and container
  12. SimpleMessageListenerContainer container =
  13. newSimpleMessageListenerContainer(cf);
  14. Object listener =newObject(){
  15. publicvoid handleMessage(String foo){
  16. System.out.println(foo);
  17. }
  18. };
  19. MessageListenerAdapter adapter =newMessageListenerAdapter(listener);
  20. container.setMessageListener(adapter);
  21. container.setQueueNames("myQueue");
  22. container.start();
  23. // send something
  24. RabbitTemplate template =newRabbitTemplate(cf);
  25. template.convertAndSend("myExchange","foo.bar","Hello, world!");
  26. Thread.sleep(1000);
  27. container.stop();
  28. }
 
使用Spring的方式:
 
  1. publicstaticvoid main(finalString... args)throwsException{
  2. AbstractApplicationContext ctx =
  3. newClassPathXmlApplicationContext("context.xml");
  4. RabbitTemplate template = ctx.getBean(RabbitTemplate.class);
  5. template.convertAndSend("Hello, world!");
  6. Thread.sleep(1000);
  7. ctx.destroy();
  8. }
 
  1. publicclassFoo{
  2. publicvoid listen(String foo){
  3. System.out.println(foo);
  4. }
  5. }
 

 

  1. <!--context.xml -->
  2. <rabbit:connection-factoryid="connectionFactory"/>
  3. <rabbit:templateid="amqpTemplate"connection-factory="connectionFactory"
  4. exchange="myExchange"routing-key="foo.bar"/>
  5. <rabbit:adminconnection-factory="connectionFactory"/>
  6. <rabbit:queuename="myQueue"/>
  7. <rabbit:topic-exchangename="myExchange">
  8. <rabbit:bindings>
  9. <rabbit:bindingqueue="myQueue"pattern="foo.*"/>
  10. </rabbit:bindings>
  11. </rabbit:topic-exchange>
  12. <rabbit:listener-containerconnection-factory="connectionFactory">
  13. <rabbit:listenerref="foo"method="listen"queue-names="myQueue"/>
  14. </rabbit:listener-container>
  15. <beanid="foo"class="foo.Foo"/>
分享到:
评论

相关推荐

    spring-amqp-reference-1.6.1.RELEASE

    ##### 2.1 快速入门 - **XML 配置**:Spring AMQP 支持通过 XML 文件来配置消息队列的相关组件,这使得开发者能够轻松地定义交换机、队列、绑定等元素。 - **Java 配置**:除了 XML 配置外,Spring AMQP 还支持 ...

    spring-amqp-reference.pdf

    - 快速入门部分,介绍了如何使用XML和Java配置快速实现AMQP消息的基本发送和接收。 - 新特性介绍,概述了版本2.1相较于2.0所引入的新特性,例如AMQP客户端库更新、包更改、发布者确认变化、监听器容器工厂改进、...

    spring-amqp 1.5.3源码

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

    Spring AMQP 2 中文 参考手册 中文文档

    以上是对Spring AMQP 2参考手册的内容分析,主要介绍了项目的核心概念、使用方法、快速入门、依赖管理、消息发送与接收、XML配置以及版权声明等关键知识点。这些知识点对于理解和使用Spring AMQP框架是十分重要的。

    Spring AMQP hello world

    这个入门教程将帮助你理解Spring AMQP的基本概念、配置以及核心组件。 首先,让我们了解AMQP。AMQP是一种开放标准的消息协议,它定义了消息生产者、消费者和消息队列之间的交互方式。RabbitMQ是基于AMQP的开源消息...

    gettingstarted-springamqp:入门 Spring AMQP

    这个教程“gettingstarted-springamqp”旨在帮助初学者快速了解如何在 Spring 应用程序中集成和使用 AMQP。 在开始之前,我们需要理解 AMQP 是一种标准的消息中间件协议,它允许应用程序之间通过消息传递进行异步...

    spring-framework-reference

    - **分发 ZIP 文件**:Spring 提供 ZIP 分发包,便于没有构建工具的环境快速搭建开发环境。 - **日志**:Spring 支持多种日志框架,包括 Commons Logging、SLF4J 和 Log4J。 #### 二、Spring Framework 4.x 新功能...

    spring-boot-reference-2.7.13.pdf

    文档概览部分对 Spring Boot 的文档进行了概括性介绍,包括 Spring Boot 的概述、快速入门、配置、自动配置、 starters 等。 4. 第一步骤 第一步骤部分指导用户如何快速开始使用 Spring Boot,包括项目结构、依赖...

    SpringBoot-RabbitMQ:RabbitMQ为异步消息处理提出了一个很好的解决方案,它是一个非常好用的消息中间件,主要用于中间件的解压缩,同时,Spring Boot为RabbitMQ提供了支持,Spring Boot为兔子准备了spring-boot-starter-amqp,spring-rabbit支持AMQP(即高级消息队列协议,高级消息协议,是应用层协议的一个开放标准),并且为兔子模板和兔子MQ提供了自动配置选项

    你会使用Spring AMQP的RabbitTemplate内置应用系统来发布消息和使用一个MessageListenerAdapter POJO来订阅消息 git克隆 gradle bootRun 需要 大约几十分钟 一款文本编辑器或者IDE 你也可以从这个项目中入门代码...

    spring-framework-5.0 中文文档PDF

    在入门指南部分,文档可能提供了如何开始使用Spring Framework的基础知识,包括一些基础概念和必要的配置,帮助新手快速上手。 接着,在介绍Spring框架的章节中,文档可能介绍了Spring的整体架构,包括它的各种模块...

    spring-frame-4-reference

    - **改进的入门体验**:简化了设置过程,使得开发者能够更快地开始使用Spring。 - **移除不推荐的包和方法**:为了保持API的整洁和现代化,Spring 4.0移除了大量过时或不再建议使用的API。 - **Java 8 (以及6和7)**...

    【SpringCloud】 - spring-cloud

    - **快速入门**: 提供了简单的示例和步骤,帮助开发者快速上手使用Spring Cloud Bus。 - **Bus端点**: 包括刷新端点(Bus Refresh Endpoint)和环境端点(Bus Env Endpoint)等,用于远程刷新配置和服务间的信息传递。 ...

    spring-framework-reference-4.3.1.RELEASE

    - **改进的入门体验**:Spring 4.0引入了一系列改进措施,使得开发者能够更快地开始使用Spring框架。 - **移除废弃的包和方法**:为了保持框架的简洁性,Spring 4.0移除了大量已经过时或不再推荐使用的API。 - **...

    Spring Framework Reference_4.1.3.pdf

    - **改善的入门体验:** 介绍了 Spring 4.0 在简化入门过程方面所做的改进。 - **移除过时的包和方法:** 为了保持框架的简洁性和高效性,Spring 4.0 移除了不再支持的包和方法。 - **Java 8 及其兼容性:** Spring ...

    spring-framework doc文档

    1. **入门指南**:这部分会介绍如何搭建Spring环境,如何创建第一个Spring项目,并简述Spring的核心理念。它可能还会涵盖Spring Boot的快速启动方式,以及如何利用Maven或Gradle构建工具整合Spring。 2. **核心容器...

    spring从入门到精通

    《Spring从入门到精通》是一本全面覆盖Spring框架核心概念和技术的指南,旨在帮助读者从零基础开始,逐步掌握Spring的使用和应用开发。Spring作为Java企业级应用开发的主流框架,其强大的功能和灵活性使其在众多框架...

    SPRING-framework5 最新英文版 详细教程

    ### Spring Framework 5.0.0.M1...以上内容涵盖了 Spring Framework 5.0.0.M1 的基础教程概览,从入门到核心概念和技术都有详细介绍。这不仅有助于新手快速上手,也为有经验的开发者提供了深入理解 Spring 框架的机会。

    spring开发完整最新版jar包

    9. **Spring AMQP**和**Spring Cloud Stream**:分别用于处理基于AMQP协议的消息队列和微服务间的流处理。 在学习和使用这个"spring开发完整最新版jar包"时,开发者应首先了解Spring的基本概念,如IoC和AOP,然后...

    spring-examples:弹簧示例

    弹簧示例Spring 示例:这些示例背后的想法是提供有关如何设置不同替代方案以使用 Spring 框架及其不同模块的快速入门指南。 将有(正在进行的)几个级别,并将对其进行枚举。 项目必须是基于 Groovy 的,但有时可以...

Global site tag (gtag.js) - Google Analytics