1. 程式人生 > >十次方第五天[Java專案]

十次方第五天[Java專案]

 

大家需要十次方專案的視訊可以關注我的微信公眾號,

訊息中介軟體RabbitMQ

win環境下的下載與安裝

  1. 下載並安裝Eralng 因為RabbitMQ是由Eralng語言開發的,所有要有這個環境
http://erlang.org/download/
  1. 下載並安裝RabbitMQ
http://www.rabbitmq.com/install-windows.html

安裝的過程中資料夾不能有中文和空格,安裝後window服務中就存在了RabbitMQ了,並且是啟動狀態

  1. 安裝管理介面(外掛) 進入RabbitMQ安裝目錄的sbin目錄,輸入命令
rabbitmq-plugins enable rabbitmq_management
  1. 開啟瀏覽器;
http://127.0.0.1:15672

docker環境下的下載與安裝

  1. 下載映象
docker search rabbitmq.
docker pull rabbitmq:management
  1. 建立容器
docker run -di --name=tensquare_rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management
  1. 訪問
htp://你的ip:15672/#/

直接模式(Direct)

就是直接走預設的交換器,意思就是沒有交換器,是一個空字串的交換器

建立一個佇列

name : itcast
Duribility : 是否持久化
Auto delete : 是否自動刪除
  1. 通過程式碼測試,建立一個maven模組,匯入依賴
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

配置相應的配置檔案和啟動類

  1. 編寫測試類(生產者)
@RunWith(SpringRunner.class)
@SpringBootTest(classes = RabbitApplication.class)
public class ProductTest {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    @Test
    public void sendMsg(){
        rabbitTemplate.convertAndSend("itcast","直接模式測試");
    }
}
  1. 消費者
@Component
@RabbitListener(queues = "itcast")
public class Customer1 {

    @RabbitHandler
    public void getMsg(String msg){
        System.out.println("直接模式消費" + msg);
    }
}

分裂模式(Fanout)

當我們需要把一個訊息發到多個佇列時,需要使用這種模式,這個用的不是很多

  1. 首先先建立一個佇列,型別是fanout,名字是chuanzhi
  2. 繫結之前定義好的佇列,再新增幾個佇列,方便測試
  3. 測試程式碼
    @Test
    public void senFanOutdMsg(){
        rabbitTemplate.convertAndSend("chuanzhi","","分裂模式測試");
    }

主題模式模式(topic)

主題模式和分裂模式的區別就是多了routing key(匹配規則)

  1. 測試程式碼
    @Test
    public void senTopicdMsg(){
        rabbitTemplate.convertAndSend("topictest","good.abc","主題模式測試");
    }

大家需要十次方專案的視訊可以關注我的微信公眾號,

大家有需要專案視訊的可以加我微信yan1242269186