RabbitMQの簡潔シリーズ第18章高度な統合アプリケーションの最初の記事

この章の学習では、主に、アプリケーションの統合です。この章では、以下の主要な要素を見てみましょう:

統合されたスプリングAMQPと春ブーツと春のクラウド統合。そして、注意して作業を支払う必要がピットの統合を強化しました。次のように:

image1.png

主な内容:

rabbitAdmin操作するMQにより、rabbitAdminを作成するためのコードを使用します

これは、最初の「RabbitMQの簡潔シリーズ」チュートリアル第18章高度なアプリケーション統合です。RabbitMQの興味の友人の場合は、最初の章から開始することができます。

RabbitMQのは、春のAMQPの戦闘を統合します

春AMQPとの統合では、重要なコンポーネント:

image2.png

RabbitAdminクラスと優れた操作RabbitMQのは、春に直接注入することができます。

image3.png

注意:

自動起動は、そうでない場合は、スプリングは、コンテナクラスをロードしません、トゥーレに設定する必要があります。

なぜRabbitAdminを取得しますか?

    RabitAdmin基礎となる実装は、コンテナの春から取引所、Bingding、Routingkeyとキュー@Bean声明を得ることです。

RabbitTemplateは、この方法は、対応するステートメントを実行し、実行、修正、削除、およびRabbitMQの基本的な一連の機能を使用します。

コードは示しています。

POMファイルを追加します。

<!-- rabbitmq-->
<dependency>
  <groupId>com.rabbitmq</groupId>
  <artifactId>amqp-client</artifactId>
  <version>3.6.5</version>
</dependency>
<!-- spring 启动-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>


image4.png

需要注意:

如果spring boot 是1.5.6版本的时候,rabbit的版本号可以使用3.6.5以上

如果spring boot的版本是2.1.x的时候,rabbit的版本号可以使用5.7.x

创建rabbitMQConfig:

1:先获取到ConnectionFactory.

注意:是amqp.rabbit下的。如下图:

image5.png

创建ConnectionFactory:

image6.png

2:获取rabbitAdmin的代码:

image7.png

注意:setAutoStartUp必须设置为true

进行测试:

因为在RabbitMQConfig中我们已经将rabbitAdmin由spring容器管理了。所以在这里,我们直接使用autowired就可以。如下图:

image8.png

我们先在页面管控台查看:

image9.png

并没有。启动后,在查看,是否已经创建。

测试类启动成功:

image10.png

在页面管控台查看,exchange交换机是否已经创建:

image11.png

已经创建成功。说明,rabbitAdmin我们成功了。

通过rabbitAdmin创建Queue:

image12.png

创建绑定关系:

image13.png

启动后,查看test_spring_direct_queue是否绑定了test_spring_direct交换机。

image14.png我们发现绑定成功了。

绑定方式二:使用BindingBuilder的链式

rabbitAdmin.declareBinding(
     BindingBuilder.bind(new Queue("test_spring_topic_queue",false))    //创建队列
     .to(new TopicExchange("test_spring_topic",false,false))    //绑定交换机
     .with("user.#")    //设置routingkey
);


image15.png

需要注意的:当时fanout的时候,在bingdingBuilder的时候没有with.因为fanout的不需要routingkey。

本节总结:

    使用spring的@Bean注解怎么创建connection工厂及怎么创建rabbitAdmin以及怎么使用。

下节预告:

    我们知道在rabbitMQ的基础API中得到队列、binding以及路由是通过channel对象获取的,如下图。那么在springAMQP模式下怎么声明呢?在下节课中,我们将要讲解到的。

この記事では、Javaの凱歌(kaigejava)個人ブログ(www.kaigejava.com)から来ています

image16.png



おすすめ

転載: blog.51cto.com/kaigejava/2428265
おすすめ