SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Spring AMQP×RabbitMQで始めるメッセージキューイング

RabbitMQの導入と、Spring AMQPを利用したメッセージ送受信

Spring AMQP×RabbitMQで始めるメッセージキューイング 第1回

起動確認

 インストールが完了したら、早速起動してみましょう。以下のような画面が表示されれば、起動確認は完了です。

 「Open Dashboard」をクリックすると開発用の画面が表示されます。

RabbitMQのサンプルを実行

 これで、RabbitMQと開発環境がひと通り揃いました。稼働確認を兼ねて、RabbitMQが配布しているサンプルプログラムを利用してメッセージの送信と受信を行なってみます。

 RabbitMQが配布しているサンプルがgithubのサイトにありますので、こちらより「Send.java」と「Recv.java」をダウンロードしてSTS上に保存してください。

 また、実行にはRabbitMQのクライアントライブラリが必要です。RabbitMQのサイトにあるJava用クライアントのダウンロードページから「rabbitmq-java-client-bin-3.0.1.tar.gz」もしくは「rabbitmq-java-client-bin-3.0.1.zip」をダウンロードして解凍・展開し、中に含まれる「rabbitmq-client.jar」をクラスパスに追加しておいてください。

 これらのファイルが準備できたら、まず受信用のRecvクラスを実行してください。受信クラスは起動するとキューを作成し、接続した状態で待ち受け状態に入ります。

 次に送信クラスであるSendクラスを実行します。コマンドラインから実行する場合は、別のセッションを開いて実行します。送信クラスではキューを作成しメッセージを送信します。送信クラスを実行すると受信クラスの標準出力に受信した内容のメッセージが表示されます。再度送信クラスを実行すると、受信クラスでは続けてメッセージを受信して標準出力に表示します。

Recvの出力
 [*] Waiting for messages. To exit press CTRL+C
 [x] Received 'Hello World!'

Spring AMQP

 ここからは実際に、Spring AMQPを利用したアプリケーションを作成します。今回は先程RabbitMQの動作確認に使用したプログラムと同等のことをSpring AMQPを使って実装してみます。

 まず、STS上で新たにSpringプロジェクトを作成します。今回はSpringの標準的なフォルダ構成やMavenのセットアップを簡略化するためSTSに用意されているテンプレートプロジェクトを利用します。

 「File」→「New」→「Spring Template Project」を選択します。表示されているテンプレートの一覧から「Simple Spring Utility Project」を選択して「Next」をクリックします。

 プロジェクト名およびトップレベルパッケージの名称を入力して「Finish」をクリックします。

 そうすると左側のPackage Explorerに、新たに追加されたプロジェクトが表示されていることが確認できます。初回の作成時はテンプレートのダウンロードなどが発生するため、少し時間がかかる可能性があります。

 また、「src/main/java」フォルダの先ほど指定パッケージ配下に「ExampleService.java」と「Service.java」というファイルがあらかじめ作成されています。これらのファイルは今回は使用しませんので削除しても問題ありません。

次のページ
依存関係のセットアップ

この記事は参考になりましたか?

Spring AMQP×RabbitMQで始めるメッセージキューイング連載記事一覧
この記事の著者

西谷 圭介(ニシタニ ケイスケ)

TIS株式会社所属。金融系基幹システムの開発等に従事したのち、サービス企画・開発を担当。IaaS開発を経て、現在はアプリ開発者のためのPaaS「eXcale」の開発責任者兼プログラマとして活動中。Tw...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6927 2012/12/28 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー