Mac下Springboot和rabbitmq
阿新 • • 發佈:2019-01-09
1、RabbitMQ安裝
Mac下前提是homebrew已安裝
brew update
brew install rabbitmq
安裝完成後將下面這兩行加到~/.bash_profile:
# RabbitMQ Config
export PATH=$PATH:/usr/local/sbin
編輯完後:wq儲存退出,使環境變數立即生效。
source ~/.bash_profile
輸入下面命令即可啟動RabbitMQ服務:
rabbitmq-server
瀏覽器輸入localhost:15672
,賬號密碼全輸入guest即可登入。
2、新增RabbitMQ依賴
#rabbimq的配置資訊 spring.rabbitmq.host=127.0.0.1 spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest spring.rabbitmq.publisher-confirms=true spring.rabbitmq.virtual-host=/
3、新建Config
@Configuration
public class RabbitConfig {
@Bean
public Queue Queue() {
return new Queue("helloQueue");
}
}
4、新建生產者和消費者
@Component public class HelloSender { @Autowired private AmqpTemplate rabbitTemplate; public void send(String sendMsg) { System.out.println("Sender: " + sendMsg); this.rabbitTemplate.convertAndSend("helloQueue", sendMsg); } }
@Component
@RabbitListener(queues = "helloQueue")
public class HelloReceiver {
@RabbitHandler
public void process(String msg) {
System.out.println("Receiver: " + msg);
}
}
5、Controller
@RestController public class RabbitTestController { @Autowired HelloSender helloSender; @RequestMapping("msg") //返回的資料不是html標籤的頁面,而是其他某種格式的資料時(如json、xml等)使用 @ResponseBody public String index() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設定日期格式 String date = df.format(new Date());// new Date()為獲取當前系統時間,也可使用當前時間戳 String sendMsg = "Message Send:" + date; helloSender.send(sendMsg); return sendMsg; } }
6、啟動
啟動後如果報錯,請到http://localhost:15672/中add a new queue
queueName新增helloQueue即可