この章では、JMSコーディネート・キャッシュを使用するために構成する必要がある各種コンポーネントについて説明します。
この章の内容は次のとおりです。
表104-1は、JMSコーディネート・キャッシュの構成可能オプションを示します。
表104-1は、JMSコーディネート・キャッシュの構成可能オプションを示します。
表104-1 JMSコーディネート・キャッシュの構成可能オプション
構成オプション | Oracle JDeveloper |
TopLink Workbench | Java |
---|---|---|---|
ディスクリプタ・レベルでのキャッシュ・コーディネーション変更伝播(119.15項「ディスクリプタ・レベルでのキャッシュ・コーディネーション変更伝播の構成」を参照) |
|||
同期変更伝播モード(103.2項「同期変更伝播モードの構成」を参照) |
|||
JNDIネーミング・サービス(103.7項「JNDIネーミング・サービス情報の構成」を参照) |
|||
トピック名(104.2項「トピック名の構成」を参照) |
|||
トピック・コネクション・ファクトリ名(104.3項「トピック・コネクション・ファクトリ名の構成」を参照) |
|||
トピック・ホストURL(104.4項「トピック・ホストURLの構成」を参照) |
|||
接続処理(104.5項「接続処理の構成」を参照) |
|||
コンテキスト・プロパティ(103.11項「コンテキスト・プロパティの構成」を参照) |
|||
パケットの有効時間(103.12項「パケットの有効時間の構成」を参照) |
|
|
JMSトピックは、JMSサーバーのパブリッシュ/サブスクライブ先を識別します。メッセージの共有を望むJMSユーザーは、同じJMSトピックをサブスクライブします。
構成するトピック名は、TopLinkでJNDIサービスからのjavax.jms.Topic
インスタンスの検索に使用される名前です。jms/<
topic_name
>
のように、完全修飾されたJNDI名を指定する必要があります。
同じJMSコーディネート・キャッシュのすべてのメンバーは、同じJMSトピックを使用する必要があります。
JMSキャッシュ・コーディネーションにトピック名を指定するには、次の手順を実行します。
ナビゲータでサーバー・セッションを選択します。そのプロパティがエディタに表示されます。
「キャッシュ・コーディネーション」タブをクリックします。「キャッシュ・コーディネーション」タブが表示されます。
「キャッシュ・コーディネーションを有効にする」が選択されており、「タイプ」が「JMS」になっていることを確認します(詳細は、102.3項「キャッシュ・コーディネーション」を参照)。
JMSコーディネート・キャッシュでこのセッションに使用するトピック名を入力します。これは、jms/
<topic_name>
のように、完全修飾されたJNDI名である必要があります。
JMSコーディネート・キャッシュでこのセッションに使用するトピック名を入力します。これは、jms/
<topic_name>
のように、完全修飾されたJNDI名である必要があります。
JMSトピック・コネクション・ファクトリは、特定のJMS宛先に対してJMSプロバイダとの接続を作成するものです。各コネクション・ファクトリには、JMS宛先への接続を作成するための固有の構成情報を指定します。
構成されたトピック・コネクション・ファクトリ名に基づき、TopLinkは、javax.jms.TopicConnectionFactory
インスタンスをJNDIサービスから検索します。これは、jms/<
resource_name
>
のように、完全修飾されたJNDI名である必要があります。
JMSコーディネート・キャッシュにトピック・コネクション・ファクトリを指定するには、次の手順を実行します。
ナビゲータでサーバー・セッションを選択します。そのプロパティがエディタに表示されます。
「キャッシュ・コーディネーション」タブをクリックします。「キャッシュ・コーディネーション」タブが表示されます。
「キャッシュ・コーディネーションを有効にする」が選択されており、「タイプ」が「JMS」になっていることを確認します(詳細は、102.3項「キャッシュ・コーディネーション」を参照)。
図104-2 「キャッシュ・コーディネーション」タブ、「トピック・コネクション・ファクトリ名」フィールド
JMSコーディネート・キャッシュでこのセッションに使用するトピック・コネクション・ファクトリ名を入力します。これは、jms/
<resource_name>
のように、完全修飾されたJNDI名である必要があります。
JMSコーディネート・キャッシュでこのセッションに使用するトピック・コネクション・ファクトリ名を入力します。これは、jms/
<resource_name>
のように、完全修飾されたJNDI名である必要があります。
JMSトピック・ホストURLは、JMSトピックをホスティングするネットワーク上のマシンのURLです(104.2項「トピック名の構成」を参照)。
JMSコーディネート・キャッシュにトピック・ホストURLを指定するには、次の手順を実行します。
ナビゲータでサーバー・セッションを選択します。そのプロパティがエディタに表示されます。
「キャッシュ・コーディネーション」タブをクリックします。「キャッシュ・コーディネーション」タブが表示されます。
「キャッシュ・コーディネーションを有効にする」が選択されており、「タイプ」が「JMS」になっていることを確認します(詳細は、102.3項「キャッシュ・コーディネーション」を参照)。
JMSトピックをホスティングするネットワーク上のマシンのURL(JMSコーディネート・キャッシュでこのセッションに使用するURL)を入力します(104.2項「トピック名の構成」を参照)。
セッションのトランスポート・マネージャにより、コーディネート・キャッシュの複数メンバーへの接続が作成されます。これらの接続のいずれかで通信エラーが発生した場合、セッションでエラーを無視するか、接続を削除するかを構成できます。
エラー時に接続を削除するようにセッションを構成した場合、セッションは、そのコーディネート・キャッシュのメンバーとの通信を次回試行する際に、新しい接続を確立します。接続作成フェーズでエラーが発生した場合、TopLinkにより、RemoteCommandManagerException.ERROR_CREATING_JMS_CONNECTION
(メッセージの送信中にエラーが発生した場合)またはRemoteCommandManagerException.ERROR_CREATING_LOCAL_JMS_CONNECTION
(メッセージの受信中にエラーが発生した場合)がスローされます。このエラーからのリカバリを実行する場合、次のオプションを考慮してください。
アクションなしを選択できます。メッセージは送受信されません。
例外の処理を選択できます。oracle.toplink.remotecommand.jms.JMSTopicTransportManager
の設定を一部変更し、JMSTopicTransportManager
のcreateExternalConnection
またはcreateInternalConnection
メソッドをコールすることで実行できます。
エラーを無視するようにセッションを構成した場合、セッションは、そのコーディネート・キャッシュのメンバーとの通信を次回試行する際に、同じ接続を引き続き使用します。この場合、(ローカル)接続のリスニングでRemoteCommandManagerException.ERROR_RECEIVING_JMS_MESSAGE
例外が発生すると、コーディネート・キャッシュでは10秒待機してからリスニングを再開します。このエラーからのリカバリを実行する場合、次のオプションを考慮してください。
アクションなしを選択できます(接続のリカバリを待機)。
RemoteCommandManagerException.ERROR_PROPAGATING_COMMAND
またはRemoteCommandManagerException.ERROR_RECEIVING_JMS_MESSAGE
例外の処理を選択できます。これは、Remote Command Managerを停止することで実行できます。
いずれの場合も、コーディネート・キャッシュがNULL JMSメッセージを受信すると、RemoteCommandManagerException.ERROR_RECEIVED_JMS_MESSAGE_IS_NULL
例外がスローされます。
エラー時のTopLinkによるセッション接続の処理方法を指定するには、次の手順を実行します。
ナビゲータでセッションまたはセッション・ブローカを選択します。そのプロパティがエディタに表示されます。
「キャッシュ・コーディネーション」タブをクリックします。「キャッシュ・コーディネーション」タブが表示されます。
「キャッシュ・コーディネーションを有効にする」オプションが選択されていることを確認し、適切なコーディネート・キャッシュの「タイプ」(JMS)を選択します。キャッシュ・コーディネーションの各オプションの値がタブ上で表示されます。
エラー時にデータ・ソース接続を削除するようにセッションを構成する場合は、「エラー時に接続を削除」オプションを選択します。
エラー時にデータ・ソース接続を削除するようにセッションを構成する場合は、「エラー時に接続を削除」オプションを選択します。