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

事象説明

物理的な送信先が作成されていない場合、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) で、接続ユーザに送信先自動生成の権限が付与されているかどうかを確認してください。

    アクセス制御プロパティファイルの詳細については、「運用編」-「コンフィグレーション」-「JMS に関する設定」- 「アクセス制御機能を利用するための設定」-「送信先自動作成のアクセス制御」を参照してください。

復旧方法

  1. エラーメッセージに表示された物理的な送信先が存在しているかどうかを確認し、存在しない場合は作成してください。
    各操作の詳細については、「運用編」-「運用と操作」-「JMS の運用操作」-「送信先の操作」を参照してください。

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

備考

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


関連情報

    トラブルシューティング(障害解析)