MQ消息队列的使用(邮件的发送)
MQ消息队列
MQ是一种消息队列,目前流行的有RabbitMQ,ActiveMQ等,还有每个互联网公司通常都拥有自己的消息队列的Maven的jar包。通俗的讲消息队列就是一种生产者向队列中发送信息,等待消费者消费取出队列中的信息。
下面对消息队列的使用进行讲解:已发送邮件为例:分为三个步骤
1.本地项目,创建邮件模板,通过JmsTemple发送给MQ,进入消息队列,是不折不扣的生产者。是是运用spring整合activeMQ,需要将jms提供链接的ConnectionFactory交给spring容器管理。
2.mq本身嵌套一个jetty服务器,可存储生产者端发送的消息队列。
3. 消费者端,mq通过messageListener监听器监听并得到消息队列中的消息并对消息做处理。实现异步发送。
A:利用Maven加载相关的jar报,当然也可以自己写MQ,用来生产者的消息
<!-- java email -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</dependency>
<!-- activiti mq 的jar包 start-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>${activemq.version}</version>
</dependency>
jms交给spring进行管理
<!-- 配置JMS链接模版 -->
<bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://l