-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) {
}
}
}