前のトピック: Oracle AQ (JMS)次のトピック: TIBCO ステップ


Oracle AQ (JPUB)

AQ を使用する 2 つの方法を以下に示します。

Oracle AQ JMS API は、より低いレベルの AQ API の上に構築されるレイヤです。 この低いレベルの API は扱いがはるかに難しく、また、ほとんど JMS のようには動作しません。

最も大きな違いはメッセージ形式です。 低いレベルの AQ メッセージにはペイロードが含まれます。これは、データベースで定義されている任意の型になります。 varchar 型または clob 型も使用できますが、通常はユーザ定義の構造化データベースの型です。 AQ JMS キューと同様、AQ の低いレベルのキューはそれぞれ 1 つのペイロード型のみを処理できます。

Oracle は、これらのユーザ定義の構造型を処理できる Java オブジェクトを生成可能な JPUB という名前のユーティリティを提供しています。 JPUB は、Axisが Web サービスを使用する Java オブジェクトを生成するのと同じ方法で動作します。 Oracle AQ JPUB という名前の低いレベルの AQ ステップは、自動的にこのユーティリティを使用し、キュー情報に基づくクライアント クラスを生成できます。 その後、ユーザは標準の COE を使用して、ペイロード オブジェクトに入力します。

キューまたはトピックの相違点はありません。 クライアントは以下を実行できます。

低いレベルの AQ キューの設定は、ストアド プロシージャによって再度実行されます。 AQ キューを作成する前に、データベースにユーザ定義の構造型を作成することができる追加の手順があります。 技術的には、低いレベルの API を使用して、AQ JMS キューと通信できます。 JMS キューには、標準の JMS メッセージのように構造化された特定のペイロード型があります。 ただし、低いレベルの AQ キュー(JMS ペイロード型を使用しないキュー)との通信には AQ JMS API を使用できません。

テスト ケースに Oracle AQ (JPUB)ステップを追加するには、ステップをクリックしてエディタを開きます。

Oracle AQ (JPub)ステップ

エディタの下部の 4 つのタブが使用できます。

基本情報タブ

ベース]タブ ビューはデフォルト ビューで、上記の図に示されています。 これは、4 つの主なセクションで構成されています。

サーバ接続情報]および[エラー処理およびテスト]セクションは常にアクティブです。 各セクションの左上隅にある[有効]チェック ボックスを使用して、[サブスクライバ情報]および[パブリッシャ情報]セクションを有効および無効にできます。 これらのチェック ボックスを使用して、ステップをパブリッシュ ステップ、サブスクライブ ステップ、またはその両方に設定できます。

テスト ステップの設定が完了したら、[エラー処理およびテスト]セクションの[テスト]をクリックして設定をテストします。

 

サーバ接続情報

これらの値を設定内のプロパティでパラメータ化して、テスト中のアプリケーションの変更を容易にする必要があります。 デフォルトでは、JDBC ドライバの場所の oracle.jdbc.driver.OracleDriver が使用されます。

JDBC URL

このフィールドには、デフォルト値が入力されます。

JDBC サーバ

このフィールドには、デフォルト値が入力されます。

ユーザ

ユーザ名を入力します。

パスワード

パスワードを入力します。

セッションの共有およびパブリッシャの共有

テスト ケース全体で JMS セッションおよびパブリッシャを共有するには、これらのチェック ボックスを使用します。 この方法はオーバーヘッドを低減できますが、通常、JMS クライアントがリソースを解放するため、現実的なシミュレーションとなるとは限りません。 [パブリッシャの共有]チェック ボックスをオンにすると、[セッションの共有]チェック ボックスもオンになります。 セッションを共有しなければ、パブリッシャを共有できません。 これらのパラメータの詳細については、「Deliberate Delays in VSE」ナレッジ ベース記事を参照してください。

すべて停止

設計時にすべてのリスナを停止します。 一部のリスナは切り離すことができますが、引き続きメッセージを処理します。 メッセージを処理する場合は、テスト ケースを作成することは困難です。

 

パブリッシャ情報

メッセージを送信(パブリッシュ)する機能を設定するには、[有効]チェック ボックスをオンにします。

以下のパラメータを入力します。

スキーマ

使用するスキーマの名前を入力します。

名前

使用するトピックまたはキューの名前を入力します。

JPub クラスの生成

クリックすると、JPub クラスを生成します。

ペイロード クラス名

ペイロード クラス名を入力します。

詳細]ボタン

詳細設定(パブリッシュ)]ダイアログ ボックスをクリックして開き、[相関]に入力または選択して[OK]をクリックします。

 

サブスクライバ情報

メッセージを受信(サブスクライブ)する機能を設定して有効にするには、[有効]チェック ボックスをオンにします。

以下のパラメータを入力します。

スキーマ

使用するスキーマの名前を入力します。

名前

使用するトピックまたはキューの名前を入力します。

タイプ

トピックまたはキューを使用するかどうか、および同期または非同期モードでリスンするかどうかを選択します。 非同期モードでは、[非同期キー]フィールドにもエントリが必要です。 このフィールドの右側にある[検索]アイコンを使用して、どのメッセージがキュー(のみ)で処理されるのを待機しているかを確認できます。

タイムアウト(秒)

DevTest がメッセージの待機を中断するまでの秒数を示します。 タイムアウトを設定しない場合は、このフィールドは空白にしておきます。

非同期キー

非同期メッセージを識別するために必要な値を入力します。 この値は非同期モードにのみ必要です。 この値は、非同期メッセージを取得するために後続のメッセージ コンシューマ ステップで使用されます。

JPub クラスの生成

クリックすると、JPub クラスを生成します。

ペイロード クラス名

ペイロード クラス名を入力します。

詳細

サブスクライバの詳細設定ダイアログ ボックスをクリックして開きます。

詳細]ダイアログ ボックスでは、[コンシューマ名]、[相関]、および[メッセージ ID]を入力できます。

 

エラー処理およびテスト

エラーが発生した場合、[エラー処理およびテスト]セクションはステップにリダイレクトします。

環境エラーの場合

環境エラーが発生した場合に実行するステップまたは実行するアクションを選択します。

ステップ設定をテストするには、[テスト]をクリックします。