亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在spring單元測試中模擬rabbitmq

發布時間:2021-05-31 17:30:28 來源:億速云 閱讀:266 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關如何在spring單元測試中模擬rabbitmq,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

gradle添加引用

compile   'org.springframework.boot:spring-boot-starter-amqp'
testCompile 'com.github.fridujo:rabbitmq-mock:1.0.10'

添加bean對象

/**
 * 模擬rabbitmq.
 */
@ActiveProfiles("test")
@Component
public class RabbitMqMock {
 @Bean
 public ConnectionFactory connectionFactory() {
  return new CachingConnectionFactory(MockConnectionFactoryFactory.build());
 }
}

添加測試的隊列

public static final String LIND_EXCHANGE = "test.basic.exchange";
 public static final String LIND_QUEUE_ROUTEKEY = "test.basic.*";
 public static final String LIND_QUEUE_ROUTEKEY1 = "test.basic.a1";
 public static final String LIND_QUEUE_ROUTEKEY2 = "test.basic.a2";
 
 /**
  * 創建普通交換機.
  */
 @Bean
 public TopicExchange lindExchange() {
  return (TopicExchange) ExchangeBuilder.topicExchange(LIND_EXCHANGE).durable(true)
    .build();
 }

 @Bean
 public Queue key1() {
  return new Queue(LIND_QUEUE_ROUTEKEY1);
 }

 @Bean
 public Queue key2() {
  return new Queue(LIND_QUEUE_ROUTEKEY2);
 }

 /**
  * 綁定了routekey,一個routekey可以被多個隊列綁定,類似于廣播.
  *
  * @return
  */
 @Bean
 public Binding bindBuildersRouteKey1() {
  return BindingBuilder.bind(key1())
    .to(lindExchange())
    .with(LIND_QUEUE_ROUTEKEY);
 }

 /**
  * bind.
  *
  * @return
  */
 @Bean
 public Binding bindBuildersRouteKey2() {
  return BindingBuilder.bind(key2())
    .to(lindExchange())
    .with(LIND_QUEUE_ROUTEKEY);
 }
 @Autowired
 private RabbitTemplate rabbitTemplate;

 /**
  * 發送撥打電話消息.
  */
 public void publish(String message) {
  try {
   rabbitTemplate
     .convertAndSend(MqConfig.LIND_EXCHANGE, MqConfig.LIND_QUEUE_ROUTEKEY,
       message);
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 
  /**
  * subscriber.
  *
  * @param data .
  */
 @RabbitListener(queues = MqConfig.LIND_DEAD_QUEUE)
 public void customerSign(String data) {
  try {

   logger.info("從隊列拿到數據 :{}", data);

  } catch (Exception ex) {
   logger.error("簽約同步異常", ex);
  }
 }

關于如何在spring單元測試中模擬rabbitmq就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陇西县| 丁青县| 文登市| 扎兰屯市| 昌宁县| 皮山县| 工布江达县| 满城县| 如皋市| 镇宁| 苏州市| 禹州市| 太原市| 资源县| 高淳县| 澄城县| 福泉市| 抚远县| 同江市| 濮阳县| 静海县| 中宁县| 靖安县| 宾阳县| 壶关县| 微山县| 长汀县| 鹰潭市| 高青县| 天长市| 永吉县| 抚宁县| 贺兰县| 云龙县| 金川县| 始兴县| 海淀区| 玉树县| 长兴县| 屯留县| 颍上县|