プロデューサ・コンシューマ生成失敗への対応

事象説明

物理的な送信先が作成されていない場合、JMS クライアントのプログラムからのプロデューサやコンシューマの生成に失敗することがあります。

状況の確認方法

JMSクライアントアプリケーション実行時に次のような例外が発生します。

com.nec.webotx.messaging.jms.JMSSecurityException: [C4077]: Client is not authorized to createdestination : MyQueue


原因の特定
  1. 物理的な送信先が作成されていない。

    原則として、JMS クライアントから送信先にアクセスする場合、あらかじめJMS サーバ上に物理的な送信先を作成しておく必要があります。 エラーメッセージに表示された物理的な送信先が存在しているかどうかを確認し、存在していなければ、原因は物理的な送信先が作成されていないことによるものと考えられます。

  2. 送信先を自動生成する権限がない

    JMS サービスの属性で、送信先を自動生成できるようにしているにもかかわらずエラーが発生した場合は、アクセス制御プロパティファイル (${INSTANCE_ROOT}/wojms/instances/wojmsbroker/etc/accesscontrol.properties) で、接続ユーザに送信先自動生成の権限が付与されているかどうかを確認してください。

    アクセス制御プロパティファイルの詳細については、 [ リファレンス集 運用管理・設定編 > 1. コンフィグレーション(設定一覧) > 1.7. JMS > 1.7.3. その他の設定項目・設定方法 > 1.7.3.6. 送信先自動作成のアクセス制御 ] を参照してください。



復旧方法
  1. エラーメッセージに表示された物理的な送信先が存在しているかどうかを確認し、存在しない場合は作成してください。
    各操作の詳細については、 [ ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.3. JMS > 7.3.2. 送信先の操作 ] を参照してください。

  2. 送信先を自動生成する権限がない場合は、権限を付与してください。


備考

JMS サービスの属性で、送信先を自動生成するようにもできますが、自動生成される送信先は、 メッセージが存在しないと一定時間経過後に削除されるようになっています。
自動生成で作成する送信先は、簡単な動作確認で利用する程度ものとお考えください。
なお、デフォルトの設定では送信先の自動生成はできないようになっています。


関連情報