-1.导包
<!-- ActiveMQ的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
-2.配置信息
@Configuration
public class ActiveMQConfig {
// 提供生产bean的方法
@Bean
public Queue createQueue() {
return new ActiveMQQueue("bos.queue");
}
@Bean
public Topic createTopic() {
return new ActiveMQTopic("bos.topic");
}
}
-3.使用 --生产者
@Autowired
private Queue queue;
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate;
public void run(){
/* 前台获取数据
telephone:137****7790
code:***
*/
//准备消息
ActiveMQMapMessage mapMessage = new ActiveMQMapMessage();
mapMessage.setString("telephone",telephone);
mapMessage.setString("code",code);
//发送消息
jmsMessagingTemplate.convertAndSend(queue,mapMessage);
}
-4.消费者 --消费
package com.czxy.sms.consumer;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
import javax.jms.MapMessage;
import javax.jms.Message;
@Component
public class SmsConsumer {
@JmsListener(destination = "java1.bos.sms")
public void recive(Message message) {
try {
MapMessage mapMessage = (MapMessage) message;
String telephone = mapMessage.getString("telephone");
String code = mapMessage.getString("code");
System.out.println(telephone + ":" + code);
// 发送短信,调用SMSutil
// SmsUtil.sendSms(telephone,code);
} catch (Exception e) {
}
}
}