欢迎使用-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标记库
- ActiveMQ AMQP标记库
springrabbitmqamqp标记库用于使用api和springrabbitmqapi为RabbitMQ服务器开发消息传递应用程序。
Spring RabbitMQ AMQP标记库在&&8220;Spring中定义-兔子.xsd和#8221;文件。
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" />
<bean id="jmsProducerConnectionFactory">
<property name="targetConnectionFactory" ref="jmsFactory" />
</bean>
<bean id="jmsConsumerConnectionFactory">
<property name="targetConnectionFactory" ref="jmsFactory" />
</bean>
注:-生产者和消费者都应该引用前面创建的JMS工厂对象,如上面的xml配置所示。
<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>
<?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示例对于本教程的第二部分。