SHOEISHA iD

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

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

Java Message Service再入門

今からでも遅くない JMSを学ぼう!(前編)
非同期通信の世界へようこそ

同期的でないと不安である感情から解放されましょう

  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード サンプルコード (2.1 KB)

プログラムを作成

 実際にJMSを使って、非同期通信を実装します。

準備

 JMSはJava SEではなくJava EEの仕様です。筆者の連載「GlassFishからアプローチするJava~入門編~」の第1回で述べたとおり、Java EEに準拠した製品ではあってもJava EEの全ての仕様をカバーしているわけではありません。たとえばTomcatという非常に優れたWebアプリケーションサーバがありますが、ServletやJSPの仕様は実装していますが、JMSは実装していません。このような場合、JMS製品と組み合わせる必要があります。たとえば同じApacheのActiveMQと組み合わせることによりTomcatにJMSの機能を組み込むことが可能です。

 今回は非同期通信を説明することが目的であるため、設定が簡単なGlassFishというWebアプリケーションサーバを使用します。GlassFishはMOMの機能を持っているため、組み合わせるという手間が省けます。また、開発環境はNetBeansを採用します。インストールの仕方は「GlassFishからアプローチするJava~入門編~」の第1回に詳細に記述していますので、それに沿ってインストールしていただければと思います。

JMSを使うための設定

 「表1.JMSのプレイヤーズ」でコネクションファクトリとデスティネーション(キューやトピック)が管理オブジェクトであり、MOM製品をカプセル化していると説明しました。MOM自体はリソースであり、リソースの場合カプセル化することで使用できます。データベースを接続する場合も接続するための設定が必要なようにMOMに接続する場合も設定が必要です。JMSの場合、コネクションファクトリとデスティネーションの設定が必要となります。

新規プロジェクトの作成

 今回は簡単なJavaアプリケーションを2つ作成します。1つが送信側、もう1つが受信側のPTPのアプリケーションです。次回、業務で使えるためにMDB(Message-Driven Bean)を使いWebアプリケーション同士での非同期通信を説明します。

 NetBeansを起動し[ファイル]-[新規プロジェクト]-[プロジェクト選択]を選択すると、右ペインにカテゴリ、プロジェクトとあります。カテゴリで[Java]を選択すると、プロジェクトに複数のプロジェクト候補が表示されますが、今回は[Javaアプリケーション]を選択します。

 [次へ]ボタンをクリックすると[名前と場所]画面が表示されます。プロジェクト名に「PTPSender」と入力します。

 下から2番目にある「主クラスを生成」では、既にチェックボックスにチェックが入った状態になっており、「ptpsender.Main」と自動的にパッケージ名を含んだ主クラス名が設定されています。プログラム名は後から見て名前からその責務がわかるようにすべきであると思います。今回はクラス名を「jmssample01.PtpSender」と変更し、[完了]ボタンをクリックします。

 左ペインのプロジェクトタブを開くと[PTPSender]プロジェクトが作成され、右ペインにはPtpSenderプログラムを編集するためのエディタが開いているはずです。

 受信側のプロジェクト「PTPReceiver」も同様の方法で作成してください。クラス名は「jmssample01.PtpReceiver」とします。

 プログラムの作成は一旦置いておき、JMSの設定をまず行います。そのためにはGlassFish管理コンソールを開く必要があります。今回、初めてNetBeansを使用される方は、左ペインに[サービス]タブがないと思います。その場合は[ウィンドウ]-[サービス]と選択することで左ペインに[サービス]タブが現れます。

javaee.jarの追加

 当記事のサンプルコードはスタンドアロンのJavaアプリケーションであるため、NetBeansでJavaアプリケーションを選択しても、JMSのjarファイルはライブラリに追加されません。また、GlassFishはOpenMQというMOMを取り込んでいるため「XXXjms.jar」などのjarファイルは存在しません。したがって、JMSのクラスが含まれているjavaee.jarファイルをライブラリに追加する必要があります。

 NetBeansで[プロジェクト]-[ライブラリ]を開き右クリックし[Jar/フォルダを追加]を選択すると、Jarまたはフォルダの選択画面が表示されます。デフォルトのインストールでは「C:\Sun\AppServer\lib」フォルダにjavaee.jarファイルがあり追加します。デフォルトでない場合はインストール先を指定してください。

次のページ

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
Java Message Service再入門連載記事一覧
この記事の著者

川久保 智晴(カワクボ トモハル)

haruプログラミング教室(https://haru-idea.jp/)主宰。COBOL、FORTRANで13年、Javaを中心としたWeb開発で11年。3つしか言語知らないのかというとそうでもなく、sed/awk、Perl、Python, PHP,  C#, JavaScriptなども一時期は業...

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4975 2010/04/09 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング