4.5.2 TSCContextを利用するサーバアプリケーションの例(Java)

TSCContextを利用するサーバアプリケーションの処理の流れとコードの例を示します。斜体で示しているコードは,雛形クラスとして自動生成される部分です。太字で示しているコードは,同期型呼び出しのコードと異なる部分です。

サーバアプリケーションの作成時には,ユーザは,自動生成された雛形クラスABC_TSCimplにTSCユーザオブジェクトのコードを記述します。また,雛形クラスABC_TSCfactimplにTSCユーザオブジェクトファクトリのコードを記述します。

<この項の構成>
(1) TSCユーザオブジェクト(ABC_TSCimpl)のコード
(2) TSCユーザオブジェクトファクトリ(ABC_TSCfactimpl)のコード
(3) サービス登録処理の流れ・コード

(1) TSCユーザオブジェクト(ABC_TSCimpl)のコード

//
// "ABC_TSCimpl.java"
//

import OctetSeqHelper;
import OctetSeqHolder;
import JP.co.Hitachi.soft.TPBroker.TSC.TSCContext;

// import classes used in this implementation, if necessary.
import java.lang.System;

public class ABC_TSCimpl extends ABC_TSCsk
{
 // Write class variables, if necessary

 public ABC_TSCimpl()
 {
   // Constructor of implementation.
   // Write user own code.
   //TSCユーザオブジェクトのコンストラクタのコードを記述します。
   //引数の数および型を変更できます。
   super();
 };

 public void call(byte[] in_data, OctetSeqHolder out_data)

 {
   // Operation "call".
   // Write user own code.
   //ユーザメソッドのコードを記述します。

   //TSCコンテキストの取得
   TSCContext ctx = _TSCContext();

   //ユーザIDの取得
   byte[] data = ctx.getUserData();
   System.out.println(new String(data));

   //メソッドが呼ばれた回数を増加させます。
   //(このメソッドの処理は引数の値と無関係です)
   m_counter++;
   out_data.value = new byte[4];

   System.out.println("Call method in ABC_TSCprxy");

   };

 //メソッドが呼ばれた回数
 protected int m_counter = 0;

};

(2) TSCユーザオブジェクトファクトリ(ABC_TSCfactimpl)のコード

同期型呼び出しの場合と同様です。「4.2.2(2) TSCユーザオブジェクトファクトリ(ABC_TSCfactimpl)のコード」を参照してください。

(3) サービス登録処理の流れ・コード

同期型呼び出しの場合と同様です。「4.2.2(3) サービス登録処理の流れ」,「4.2.2(4) サービス登録処理のコード」を参照してください。