---恢复内容开始---
spring集成ActiveMQ
1.相关依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
<version>5.7.0</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.7.0</version>
</dependency>
2.相关配置
<context:component-scan base-package="com.lhc.service"></context:component-scan>
<!--和activeMQ集成的问题-->
<!--创建连接工厂-->
<bean id="amq" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="password" value="admin"></property>
<property name="userName" value="admin"></property>
<property name="brokerURL" value="tcp://192.168.64.138:61616"></property>
</bean>
<!--当前目的地为队列 如果使用发布订阅 则应修改为topic-->
<bean id="queue" class="org.apache.activemq.command.ActiveMQQueue">
<property name="physicalName" value="springQueue"></property>
</bean>
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="amq"></property>
<property name="defaultDestination" ref="queue"></property>
<!--是发布订阅还是点对点 默认false 为点对点-->
<property name="pubSubDomain" value="false"></property>
</bean>
3.生产者的开发
4.消费者的开发
5.现有开发中存在的问题
消费者需要手动启动,发送请求才能接受到消息,借助activeMQ的监听
1.声明消息监听器
public class ConsumerListener implements MessageListener {
public void onMessage(Message message) {
TextMessage textMessage = (TextMessage) message;
try {
String text = textMessage.getText();
System.out.println(text);
} catch (JMSException e) {
e.printStackTrace();
}
}
}
2.将相关对象交由工厂管理
<!--消息监听器-->
<bean id="consumerListener" class="com.lhc.service.ConsumerListener"></bean>
<!--消息监听容器-->
<bean id="messageListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="pubSubDomain" value="false"></property>
<property name="destination" ref="queue"></property>
<property name="messageListener" ref="consumerListener"></property>
<property name="connectionFactory" ref="amq"></property>
</bean>
springboot集成ActiveMQ
1.相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
</dependency>
2.生产者
3.消费者
4.配置文件
spring.activemq.broker-url=tcp://192.168.64.138:61616
spring.activemq.password=admin
spring.activemq.user=admin
---恢复内容结束---