1. 程式人生 > >Mac下Springboot和rabbitmq

Mac下Springboot和rabbitmq

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即可


7、效果