1. alpha_pz

    Posted

    alpha_pz
Changes in title
+Spring-AMQPとRabbitMQことはじめ(随時更新)
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,66 @@
+# はじめに
+JavaでメッセージングサービスといえばJMS(Java Message Service)がありますが、Spring frameworkの中にもメッセージングサービス用のライブラリがあります。今回はRabbitMQを使った簡単なメッセージングサービスの構築をします。
+
+(本記事は随時更新です。)
+
+## Rabbit MQのインストール
+
+作業環境はWindows7/64bitです。
+
+RabbitMQのダウンロードは [https://www.rabbitmq.com/](https://www.rabbitmq.com/) から行います。本稿記載時(2016/4)の最新バージョンは3.6.1でしたので、Windows版のrabbitmq-server-3.6.1.exeをダウンロードし、実行します。
+なお、RabbitMQはErlangを利用しています。インストーラが必要に応じてErlangのインストールも促しますので、インストーラに従いダウンロードしましょう。
+
+### インストール後にプラグインを追加して Web管理コンソールを追加する
+
+インストール完了後、スタートメニューに Rabbit MQ Server が追加されます。インストール直後はCLI(コマンドプロンプト)での実行が提供されています。これにWebの管理コンソールを追加します。
+
+スタートメニュー>全てのプログラム>Rabbit MQ Server>RabbitMQ Command Prompt (sbin dir)を起動します。
+起動後に次のコマンドを入力します。
+
+```
+rabbitmq-plugins enable rabbitmq_management
+```
+
+するとコンソールに以下が表示されます。
+
+```
+The following plugins have been enabled:
+ mochiweb
+ webmachine
+ rabbitmq_web_dispatch
+ amqp_client
+ rabbitmq_management_agent
+ rabbitmq_management
+
+Applying plugin configuration to rabbit@[お使いのマシン名]... started 6 plugins.
+```
+
+次に管理コンソールを確認します。
+
+ブラウザから[http://127.0.0.1:15672/](http://127.0.0.1:15672/)を開きます。
+初期のログインユーザとパスワードはguestです。
+次の画面が出ればひとまずインストール完了です。
+
+![rabbit1.png](https://qiita-image-store.s3.amazonaws.com/0/13268/3c35da62-e272-311b-344b-340ce51de4f3.png)
+
+## メッセージサーバーへメッセージを送るクラスを作る
+
+SpringでAMQP用のメッセージを作るために必要なライブラリは、mavenないしはgradleを使ってspring-boot-starter-amqpを導入するだけです。本稿記載時(2016/4)のspring-boot-starter-amqpのバージョンは1.3.3です。
+
+メッセージを送信するコードは、[Spring framework公式:Messaging with RabbitMQ](https://spring.io/guides/gs/messaging-rabbitmq/)に従い、ReceiverクラスとApplicationクラスを作ります。
+
+作成後は、Applicationクラスを実行しましょう。その後管理コンソールを見ると、Queueが1つ増えています!
+![rabbit2.png](https://qiita-image-store.s3.amazonaws.com/0/13268/67b7d069-b2cb-9bf1-fd7f-232c29f1384d.png)
+
+本来はメッセージを送るための設定がいくつか必要になりますが、spring-boot-starter-amqpから提供されるテンプレートがローカルで実行するために必要なデフォルト設定で行うので不要です。
+
+便利ですよね(・ω・
+
+## メッセージサーバからメッセージを受け取る
+
+随時更新)
+
+## 参考記事
+
+* [Spring framework公式:Messaging with RabbitMQ](https://spring.io/guides/gs/messaging-rabbitmq/)
+* [Rabbit MQ公式:Installing on Windows](https://www.rabbitmq.com/install-windows.html)