Spring 框架入门教程
1. 1. Spring 框架 2. 2. Spring 5 3. 3. Spring WebFlux 4. 4. 先介绍一下 Spring 5. 5. 什么是 Spring 依赖注入 6. 6. 什么是 Spring IoC 容器 和 Bean 7. 7. Spring Bean 的生命周期 8. 8. Spring REST 开发 9. 9. Spring REST XML 10. 10. Spring RestTemplate 开发 11. 11. Spring AOP 切面编程 12. 12. Spring AOP 方法调优 13. 13. Spring 注解详解 14. 14. Spring 核心注解之 @Autowired 15. 15. Spring 核心注解之 @RequestMapping 16. 16. Spring MVC 开发样例 17. 17. Spring MVC 开发指南 18. 18. Spring MVC 异常处理机制 19. 19. Spring MVC Validator 20. 20. Spring MVC 拦截器 21. 21. Spring MVC 文件上传 22. 22. Spring MVC 国际化(i18n) 23. 23. Spring MVC Hibernate MqSQL 24. 24. Spring ORM 25. 25. Spring ORM JPA 26. 26. Spring Data JPA 27. 27. Spring 事务管理 28. 28. 常用的 Spring JdbcTemplate 29. 29. Spring Security 简介 30. 30. Spring Security 教程 31. 31. Spring Security UserDetailsService 32. 32. Spring MVC 登录注销简单案例 33. 33. Spring Security Roles 34. 34. Spring Boot Tutorial 35. 35. Spring Boot Components 36. 36. Spring Boot CLI Hello World 37. 37. Spring Boot Initilizr Web 38. 38. Spring Boot Initilizr IDE 39. 39. Spring Boot Initilizr CLI 40. 40. Spring Boot Initilizr Tools 41. 41. Spring Boot MongoDB 42. 42. Spring Boot Redis Cache 43. 43. Spring Boot 常见面试问题 44. 44. Spring Batch 45. 45. Spring Batch 批处理示例 46. 46. Spring AMQP 47. 47. Spring RabbitMQ 48. 48. Spring AMQP RabbitMQ 49. 49. Apache ActiveMQ 安装与启动 50. 50. Spring ActiveMQ 教程 51. 51. Spring ActiveMQ 示例 52. 52. Spring JDBC 53. 53. Spring DataSource JNDI 54. 54. Spring Hibernate 55. 55. Spring Primefaces JPA 56. 56. Spring Primefaces MongoDB 57. 57. Spring Primefaces Hibernate 58. 58. SpringRoo Primefaces Hibernate 59. 59. Spring JSF 60. 60. Spring JDF Hibernate 61. 61. Spring Data MongoDB 62. 62. Spring 常见面试问题

50. Spring ActiveMQ 教程

欢迎使用-ActiveMQ教程。早些时候我们考虑过安装阿帕奇 ActiveMQ服务器。今天,我们将创建一个spring应用程序来处理队列。

Spring AMQP ActiveMQ教程

-ActiveMQ教程分为以下几个部分。

  • 介绍
  • 标记库
  • 用ActiveMQ开发和测试的步骤
  • 使用ActiveMQ的的优缺点
  • 在ActiveMQ服务器中创建JMS队列
  • 为ActiveMQ创建配置

介绍

在我之前的文章中,我们已经讨论了一些基础知识和如何安装和设置ActiveMQ服务器。请参考以下内容:

  • SpringAMQP基础知识
  • 如何安装和设置服务器

在本文和下一篇文章中,我们将使用队列(一对一的消息传递应用程序)开发-ActiveMQ消息传递应用程序。我们现在就开始吧。

最初我想为这个例子写一篇文章。然而,在准备了整个步骤之后,我觉得这篇文章太冗长了。所以分为两个岗位。在这篇文章中,我们将讨论一些基础知识,然后如何配置我们的应用程序队列,然后进行一些Spring框架AMQP和activemqapi XML配置。在我的下一篇文章中,我们将开发实际的Java程序并对其进行测试。

请单击此处“;Spring AMQP ActiveMQ消息传递示例”;访问第2部分文章。

标记库

Spring Framework提供了两种AMQP标记库,用于以下AMQP服务器:

  • RabbitMQ AMQP标记库
  • springrabbitmqamqp标记库用于使用api和springrabbitmqapi为RabbitMQ服务器开发消息传递应用程序。

    Spring RabbitMQ AMQP标记库在&&8220;Spring中定义-兔子.xsd和#8221;文件。

  • ActiveMQ AMQP标记库
  • springactivemqamqp标记库用于使用api和api为服务器开发消息传递应用程序。

    Spring RabbitMQ AMQP标记库在&8220;activemq中定义-核心.xsd和#8221;文件。

用ActiveMQ开发和测试的步骤

在本节中,我将列出使用服务器开发和测试消息传递应用程序所需的所有步骤。我们将在接下来的章节和文章中以实例深入讨论这些步骤。

请按照以下步骤使用服务器开发和测试消息传递应用程序。

  • 安装阿帕奇 ActiveMQ服务器(请参阅ActiveMQ部分)
  • Eclipse在Java中创建Mavenized项目
  • 为ActiveMQ创建配置
  • 在ActiveMQ服务器中创建JMS队列
  • 用ActiveMQ开发消息传递应用程序
  • 用ActiveMQ测试消息传递应用程序

以下是使用服务器开发和测试消息传递应用程序的简单步骤。如果你不了解他们,不用担心。我们将在接下来的章节中逐一讨论这些步骤。

使用ActiveMQ的的优缺点

在本节中,我们将讨论:与“;Spring AMQP与RabbitMQ Server”;组合相比,“;Spring AMQP与ActiveMQ Server”;组合的优缺点是什么

“;Spring AMQP与ActiveMQ”;的组合具有以下优点:

  • 服务器非常支持XA事务。
  • 我们可以很容易地将ActiveMQ嵌入到阿帕奇代理应用程序中。
  • 将&8220;与ActiveMQ应用程序和apachecamel集成起来非常容易。

尽管“;Spring AMQP与ActiveMQ”;的组合有许多好处,但它有一个主要缺点:

  • ActiveMQ需要更多内存来维护应用程序。

在ActiveMQ服务器中创建JMS队列

  • 使用新的ActiveMQ管理控制台创建JMS队列
  • 单击“;+创建”;按钮,提供详细信息,然后单击“;创建队列”;按钮
  • 单击“浏览”按钮查看邮件

为ActiveMQ创建配置

  • 为ActiveMQ服务器配置 XML配置
  • 通过提供ActiveMQ提供程序URL配置JMS连接工厂

    
    <amq:connectionFactory id="jmsFactory" brokerURL="tcp://localhost:61616" />
    

    这里的URL包含协议、主机名和端口编号:By默认情况下,此应用程序需要tcp协议。主机名为localhost。我们使用默认端口号61616。

  • 配置目标(这里我们使用的是队列)
  • 
    <amq:queue id="destination" physicalName="jms/TPActiveMQQueue" />
    
  • 使用springjmsapi和SingleConnectionFactory声明生产者连接工厂
  • 
    <bean id="jmsProducerConnectionFactory">
    	<property name="targetConnectionFactory" ref="jmsFactory" />
    </bean>
    
  • 使用springjmsapi和SingleConnectionFactory声明使用者连接工厂
  • 
    <bean id="jmsConsumerConnectionFactory">
    	<property name="targetConnectionFactory" ref="jmsFactory" />
    </bean>
    

    注:-生产者和消费者都应该引用前面创建的JMS工厂对象,如上面的xml配置所示。

  • 为JMS生产者配置springjmstemplate以将消息发送到目的地
  • 
    <bean id="jmsTemplate">
    	<property name="connectionFactory" ref="producerJmsConnectionFactory" />
    	<property name="defaultDestination" ref="destination" />
    </bean>
    
  • 配置JMS侦听器以使用消息
  • 
    <jms:listener-container container-type="default" connection-factory="consumerJmsConnectionFactory" acknowledge="auto">
    <jms:listener destination="jms/TPActiveMQQueue" ref="activeMQMessageListener" />
    </jms:listener-container>
    
  • 完整的Spring配置文件:
  • 
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="https://www.springframework.org/schema/beans"
           xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="https://www.springframework.org/schema/context"
           xmlns:jms="https://www.springframework.org/schema/jms"
           xmlns:amq="https://activemq.apache.org/schema/core"
           xsi:schemaLocation="https://www.springframework.org/schema/beans 
           https://www.springframework.org/schema/beans/spring-beans.xsd
           https://www.springframework.org/schema/context 
           https://www.springframework.org/schema/context/spring-context.xsd
           https://www.springframework.org/schema/jms 
           https://www.springframework.org/schema/jms/spring-jms.xsd
           https://activemq.apache.org/schema/core 
           https://activemq.apache.org/schema/core/activemq-core.xsd">
    
    <context:component-scan base-package="com.tp.jms.activemq" />
    <amq:connectionFactory id="jmsFactory" brokerURL="tcp://localhost:61616" />
    <amq:queue id="destination" physicalName="jms/TPActiveMQQueue" />
    
    <bean id="producerJmsConnectionFactory">
    	<property name="targetConnectionFactory" ref="jmsFactory" />
    </bean>
    
    <bean id="consumerJmsConnectionFactory">
    	<property name="targetConnectionFactory" ref="jmsFactory" />
    </bean>
    
    <bean id="jmsTemplate">
    	<property name="connectionFactory" ref="producerJmsConnectionFactory" />
    	<property name="defaultDestination" ref="destination" />
    </bean>
    
    <jms:listener-container container-type="default" connection-factory="consumerJmsConnectionFactory" acknowledge="auto">
    <jms:listener destination="jms/TPActiveMQQueue" ref="activeMQMessageListener" />
    </jms:listener-container>
    
    <bean id="counter"/>
    </beans>
    

这就是springxml配置开发-ActiveMQ消息传递示例的全部内容。请到SpringActiveMQ示例对于本教程的第二部分。