Javaを使用したOracle Tuxedoアプリケーションのプログラミング

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Oracle Tuxedo Javaプログラミングの紹介

このトピックには次の項が含まれます:

 


概要

Oracle TuxedoサービスはPure Java言語を使用して開発できます。Java言語で実装されるサービスは、他のTuxedoサービスと同様に機能します。Tuxedo Javaサーバー(TMJAVASVR)によって通知されるサービスを、ATMIインタフェースを使用してクライアントまたはTuxedoサーバーから呼び出すことができます。同様に、Tuxedoサーバーによって通知されるサービスを、TJATMIインタフェースを使用してjava実装サービスから呼び出すことができます。

さらに、java実装サービスは、ネイティブ・クライアント、/WSクライアント、Joltクライアントなど、あらゆる種類のTuxedoクライアントから呼び出すことができます。

Tuxedoサービスを実装するために、TJATMIインタフェース、JATMI TypedBuffer、POLO javaオブジェクトなど、様々な主要Javaテクノロジの使用がサポートされます。

 


プログラミングのガイドライン

次のガイドラインは、Javaサービス開発の基本的な手順です。

 


プログラミング環境

プログラミング環境の詳細は、UBBCONFIGにおける構成に関する項を参照してください。

 


Tuxedo Javaサーバー・スレッドおよびJavaクラス・インスタンス・モデル

 


Tuxedo Javaサーバーの初期化メソッドと終了メソッド

メソッドの動作は、Tuxedo 12cリリース2 (12.1.3)とTuxedo 12cリリース1 (12.1.1)で異なります。

Tuxedo 12cリリース2 (12.1.3)の動作

Javaサーバーでサポートしている初期化メソッドおよび終了メソッドは、tpsvrinit()tpsvrinit(String [])tpsvrdone()tpsvrthrinit()tpsvrthrinit(String [])およびtpsvrthrdone()です。

注: tpsvrinit()およびtpsvrdone()は必須です。他の4つのメソッドはオプションです。

アプリケーション・サーバー・クラスのロード時に、Javaサーバーはこれらすべての初期化メソッドおよび終了メソッドを検索し、次の規則に従って対応する初期化メソッドを呼び出します。

表1-1 標準の初期化メソッドの呼出し規則
実装済初期化メソッド
<server-clopt>の指定
呼び出されるメソッド
tpsvrinit()
あり
tpsvrinit()
tpsvrinit()
なし
tpsvrinit()
tpsvrinit(), tpsvrinit(String [])
あり
tpsvrinit(String [])
tpsvrinit(), tpsvrinit(String [])
なし
tpsvrinit()

Javaサーバーは、インスタンス化およびアクティブ化時に対応するスレッド・レベルの初期化メソッドを呼び出します(ユーザー・サーバー・クラスの下に実装されている場合)。呼出し規則は次のとおりです。

表1-2 標準のスレッド初期化メソッドの呼出し規則
実装済初期化メソッド
<server-clopt>の指定
呼び出されるメソッド
tpsvrthrinit()
あり
tpsvrthrinit()
tpsvrthrinit()
なし
tpsvrthrinit()
tpsvrthrinit(), tpsvrthrinit(String [])
あり
tpsvrthrinit(String [])
tpsvrthrinit(), tpsvrthrinit(String [])
なし
tpsvrthrinit()
tpsvrthrinit(String [])
あり
tpsvrthrinit(String [])
tpsvrthrinit(String [])
なし
メソッドは呼び出されません。

サーバーのディスパッチ・スレッドの非アクティブ化時に、tpsvrthrdone()メソッドが呼び出されます(サーバー・クラスに実装されている場合)。

tpsvrthrinit()およびtpsvrthrdone()は、Javaサーバーがシングル・スレッド・モードで実行されている場合は呼び出されません。

注: ユーザーは、初期化メソッドおよび終了メソッドでJava APIを呼び出すことができます。

Tuxedo 12cリリース1 (12.1.1)の動作

tpsvrinit()処理

ユーザーは、tpsvrinit()メソッドを実装する必要があります。tpsvrinit()はサーバーの起動時に呼び出されるため、このメソッドにクラス範囲の初期化を設定することをお薦めします。あるクラスのtpsvrinit()が失敗した場合、警告メッセージがユーザー・ログに報告され、Javaサーバーは実行を続けます。

tpsvrdone()処理

ユーザーは、tpsvrdone()メソッドを実装する必要があります。tpsvrdone()はサーバーの停止時に呼び出されるため、このメソッドにクラス範囲のクリーンアップ処理を設定することをお薦めします。

 


Tuxedo Javaサーバーのtpreturn()メソッド

Javaサービスのtpreturn()は、Javaサービス・メソッドの実行をすぐには中断しませんが、Tuxedo Javaサーバーに結果を返します。

Javaサービスにおけるtpreturn()の動作と、既存のTuxedoシステムにおけるtpreturn()の動作の違いを次に示します。

注: Javaサービスで、先行するtpreturn()文なしでJavaのreturn文を使用することはお薦めしません。そうすると、Javaサーバーは対応するクライアントにrcode設定0を指定したTPFAILを返します。

 


Tuxedo Javaサーバーの例外処理


  先頭に戻る       前  次