SHOEISHA iD

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

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

Java Message Service再入門

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

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

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

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

非同期通信の確認

2つのプロジェクトのjarファイル作成

 先述の通り、JavaアプリケーションはWebアプリケーションサーバであるGlassFishの外側で起動します。GlassFishにはJavaアプリケーションを起動するためのappclientというバッチファイルが用意されています。デフォルトのインストールでは「C:\Sun\AppSever\bin」に存在します。このフォルダは重宝するバッチファイルが多くあるため、環境変数PATHに追加しておくことをお薦めします。送信側も受信側も次のコマンドで起動します。

appclient -client XXX.jar

 XXX.jarは送信側と受信側のjarファイルを指定します。

 PTPSenderプロジェクトの場合であれば、NetBeansで[実行]-[主プロジェクトを構築]を選択するとデフォルトでは「C:\Users\tomoharu\Documents\NetBeansProjects\PTPSender\dist\PTPSender.jar」に作成されます。今回2つのプロジェクトがあるため、主プロジェクトを変更するには[実行]-[主プロジェクトとして設定]で変更したのち、同様の操作を行います。

 受信側は「C:\Users\tomoharu\Documents\NetBeansProjects\PTPReceiver\dist\PTPReceiver.jar」にjarファイルが作成されます。

送信側と受信側を起動

 2つのコマンドプロンプトを開きます。PTPSenderの場合、「C:\Users\tomoharu\Documents\NetBeansProjects\PTPSender\dist\」に移動し、

appclient -client PTPSender.jar

のコマンドを発行すると送信側が起動します。図16のように起動しメッセージをキューに送ったら終了します。

図16.送信側起動後画面
図16.送信側起動後画面

 PTPReceiverの場合、「C:\Users\tomoharu\Documents\NetBeansProjects\PTPReceiver\dist\」に移動し、

appclient -client PTPReceiver.jar

のコマンドを発行すると受信側が起動します。図17のように起動し、既に送信側からメッセージが送られているため、メッセージを受け取り終了します。

図17.受信側起動後画面
図17.受信側起動後画面

 起動の順番を、受信側->送信側と行うと、受信側は送信側からメッセージが送られてくるのを待っています。送信側を起動すれば、送信側からのメッセージを受け取って終了します。いろいろ順序を変えて確認してください。

 今回はトピックの実装例を紹介できませんでしたが、基本的にキューの場合と設定コーディングともよく似ています。ご自身で挑戦されてみてはいかがでしょうか。

サンプルコード

 今回作成した2つのプロジェクトのフォルダ構成は図18のようになります。サンプルコードとしてはPtpSenderとPtpReceiverのみを格納します。ページトップからダウンロードしてご利用ください。

図18.2つのプロジェクトのフォルダ構成
図18.2つのプロジェクトのフォルダ構成

 次回後編はMBD(Message-Driven Bean)を使用してPTPの実装を説明します。

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

  • 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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング