RabbitMQ在專案中的實用場景

2021-09-20 09:46:46 字數 2227 閱讀 7729

一、結合properties檔案 進行有關的配置bean的配置

1.properties檔案

spring.rabbitmq.host=localhost

spring.rabbitmq.username=guest

spring.rabbitmq.password=guest

spring.rabbitmq.virtual-host=/

2.config檔案配置

@configuration

@enableconfigurationproperties(rabbitproperties.class)

public class rabbitmqconfig

@bean(name = "amqpadmin")

public amqpadmin amqpadmin(@qualifier("rabbitconnectionfactory") connectionfactory connectionfactory)

@bean(name = "messagelistenercontainer")

@conditionalonbean(channelawaremessagelistener.class)

public ******messagelistenercontainer messagecontainer(@qualifier("connectionfactory") connectionfactory connectionfactory,

@qualifier("messagelistenerdispatcher") channelawaremessagelistener channelawaremessagelistener)

}

3.抽象專案中需要使用到的幾種佇列 ,並分別用子類實現

public abstract class abstractactivityqueue

//實現

public class emailqueue extends abstractactivityqueue

@override public string routekey()

@override public activitytype activitytype()

}public class timerqueue extends abstractactivityqueue

@override public string routekey()

@override public activitytype activitytype()

}//佇列的集合

@component

public class queues

public abstractactivityqueue getqueue(activitytype activitytype)

public collectiongetqueues()

}

4.建立與其中對應的exchange,queue,binding

/**

* 建立exchange,queue,bind

*/@component

public class rabbitmqrunner

system.out.println("----end----");

}}

5.建立不同佇列對應的rabbittmplate

@component

public class rabbittemplatefactory

@postconstruct

public void init()

}public rabbittemplate getrabbittemplate(activitytype activitytype)

}

6.在service中實現訊息的監聽消費

@rabbitlistener(queues = "email")

public void receiveemail(message message)

7.test測試訊息的傳送

@springboottest

@runwith(springrunner.class)

@test

public void exchang1()

}

位域在IOT專案中的實用

在小型iot裝置中比如做排插這些簡單的共更能可以用位域,好處在於 iot裝置本來就資源緊張,尤其加入其他雲端資料的上傳,呼叫底層,資源更加緊張 的思路看起來很清晰有友好的閱讀性 include typedef unsigned char plug1 1 繼電器1 0關1開 unsigned char...

Springdata redis在專案中的使用

org.springframework.data spring data redis 1.0.3.release log4j log4j org.slf4j slf4j log4j12 spring維護的使用redis用到的bean rediskeyutils類 public class redis...

Visual Source Safe在專案中的使用

從這週開始正式著手對銳傲部落格進行修改,王老師把 放到了vss中,但是由於我的電腦和伺服器不在同一ip位址段中,導致每次使用的時候都需要手工進入。當在伺服器中架設好後,客戶端使用時在 開始 中選擇 執行 輸入伺服器的ip位址 此時可以看到乙個對話方塊,表明已連線到伺服器,要求輸入使用者名稱和密碼 這...