[Linux]

Linux® でのクライアントとサーバー間の通信のテスト

IBM® MQ MQI client ワークステーションで、 amqsputc サンプル・プログラムを使用して、サーバー・ワークステーションのキューにメッセージを書き込みます。 amqsgetc サンプル・プログラムを使用して、メッセージをそのキューから取得してクライアントに戻します。

始める前に

このセクションのこれまでのトピックを完了しておきます。
  • キュー・マネージャー、チャネル、およびキューをセットアップします。
  • コマンド・ウィンドウを開きます。
  • システム環境変数を設定します。

本タスクについて

IBM MQ オブジェクト定義では大/小文字が区別されることに注意してください。 MQSC コマンドとして小文字で入力されたテキストは、単一引用符で囲んでいない限り、自動的に大文字に変換されます。 ここでの例は、必ず示されているとおりに入力してください。

適切な権限を使用してログインする必要があります。 例えば、mqm グループのユーザー ivtid としてログインします。

手順

  1. MQ_INSTALLATION_PATH/samp/bin directoryに変更します。これには、サンプル・プログラムが含まれています。
    MQ_INSTALLATION_PATH は、 IBM MQ がインストールされている上位ディレクトリーを表します。
  2. 現行のシェルでインストールを使用できるように、特定の環境変数を設定する必要があります。 環境変数は、以下のコマンドを入力して設定できます。
    
    . MQ_INSTALLATION_PATH/bin/setmqenv -s
    
    ここで、MQ_INSTALLATION_PATHIBM MQ がインストールされている場所を示しています。
  3. 次のコマンドを入力して、 QUEUE1 on QUEUE.MANAGER.1 の PUT プログラムを開始します。
    
    ./amqsputc QUEUE1 QUEUE.MANAGER.1
    
    コマンドが正常に実行されると、次のメッセージが表示されます。
    Sample AMQSPUT0 start 
    target queue is QUEUE1
    ヒント: エラーが発生する可能性があります。MQRC_NOT_AUTHORIZED(2035)。 デフォルトでは、キュー・マネージャーが作成されると、チャネル認証が有効になります。 チャネル認証により、特権ユーザーは IBM MQ MQI clientとしてキュー・マネージャーにアクセスできなくなります。 インストールを検査する場合は、MCA ユーザー ID を非特権ユーザーに変更するか、またはチャネル認証を無効にすることができます。 チャネル認証を無効にするには、以下の MQSC コマンドを実行します。
    
    ALTER QMGR CHLAUTH(DISABLED)
    
    キュー・マネージャーを削除しない場合は、検査完了後に、チャネル認証を再び有効にします。
    
    ALTER QMGR CHLAUTH(ENABLED)
    
  4. メッセージ・テキストを入力して、 Enter キーを 2 回押します。
    次のメッセージが表示されます。
    Sample AMQSPUT0 end
    
    これで、サーバーのキュー・マネージャー上のキューにメッセージが入りました。
  5. 次のコマンドを入力して、 QUEUE.MANAGER.1 上の QUEUE1 の GET プログラムを開始します。
    
    ./amqsgetc QUEUE1 QUEUE.MANAGER.1
    
    サンプル・プログラムが開始されて、キューに書き込んだメッセージが表示されます。 休止 (約 30 秒間) の後、サンプルは終了し、コマンド・プロンプトがもう一度表示されます。

結果

これで、クライアントのインストールは正常に検査されました。

次のタスク

  1. インストール済み環境を現行のシェルで使用できるように、サーバー上でさまざまな環境変数を設定する必要があります。 環境変数は、以下のコマンドを入力して設定できます。
    
    .  MQ_INSTALLATION_PATH/bin/setmqenv -s
    
    ここで、MQ_INSTALLATION_PATHIBM MQ がインストールされている場所を示しています。
  2. サーバー上で次のコマンドを入力して、キュー・マネージャーを停止します。
    
    endmqm QUEUE.MANAGER.1
    
  3. サーバー上で次のコマンドを入力して、キュー・マネージャーを削除します。
    
    dltmqm QUEUE.MANAGER.1