(动力节点)ActiveMQ笔记第四章 ActiveMQ与SpringBoot集成

第四章 ActiveMQ 与 SpringBoot 集成

动力节点最新ActiveMQ视频课程笔记

4-1 ActiveMQ 与 SpringBoot 集成集成配置

1、加载 spring boot 的 activeMQ 的依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId> 
</dependency>

2、编写一个消息发送者

@Component     
	public class MessageSender {                                                                     
@Autowired //注入JmsTemplate                          
	public class MessageSender {                           
private JmsTemplate jmsTemplate;
//发送消息,  destination是发送到的队列,  message是待发送的消息
public void sendMessage(String message) {
jmsTemplate.send("myQueue", new MessageCreator() { 
@Override
public Message createMessage(Session session) throws
JMSException {
     return session.createTextMessage(message);       
  }                                             
    });                                            
     }                                             
} 
    }

3、编写一个消息接收者

@Component
public class MessageReceiver {
@Autowired
private JmsTemplate jmsTemplate;
// 发送消息,  destination是发送到的队列,  message是待发送的消息
public void receiveMessage() throws JMSException{
Message message = jmsTemplate.receive("myQueue"); if (message instanceof TextMessage) {
System.out.println(((TextMessage)message).getText());
 }
}
}

application.perperties 配置连接信息;

4-2 ActiveMQ 与 SpringBoot 集成点对点消息

同步接收
异步接收

4-3 ActiveMQ 与 SpringBoot 集成发布订阅消息

1、加载 spring boot 的 ActiveMQ 的依赖
2、编写一个消息发布者
3、编写一个消息订阅者
Spring boot 集成 activemq 默认是采用点对点方式,要使用发布订阅方式 ,需要在核心配置文件中配置:spring.jms.pub-sub-domain=true

4-4 ActiveMQ 与 SpringBoot 集成同步/异步接收消息

@Configuration
public class ActiveMQConfig {
@Autowired
private ActiveMQConnectionFactory jmsConnectionFactory; @Bean
public DefaultMessageListenerContainer
defaultMessageListenerContainer() {
DefaultMessageListenerContainer
defaultMessageListenerContainer = new
DefaultMessageListenerContainer();

defaultMessageListenerContainer.setConnectionFactory(jmsConnec tionFactory);
defaultMessageListenerContainer.setDestinationName("myQueue");
defaultMessageListenerContainer.setMessageListener(new MyMessageListener());
return defaultMessageListenerContainer;
}
}
public class MyMessageListener implements MessageListener {
@Override
public void onMessage(Message message) {
if (message instanceof TextMessage) {
String text = null;
try {
text = ((TextMessage) message).getText(); } catch (JMSException e) {
e.printStackTrace();
}
System.out.println("接收到的消息为:  " + text);
}
}
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值