3.3.3 データ・セットにパラメータを追加する

Tuxedoサービスを呼び出す前に、パラメータ・セットにデータを追加することができます。たとえば、リクエストの日時を表すパラメータを追加する必要があるとします。HttpServletRequestFORMデータからこのパラメータを受信するとは期待しません。そのかわり、サーブレットに追加してから、拡張データセットをTuxedoサービスに送信します。次のサンプル・プログラムでこの手順を説明します。

// Create a new dataset
ServletDataSet dataset = new ServletDataSet();
// Import the HttpServletRequest into the dataset.
dataset.importRequest(request);
// Insert an extra parameter into the dataset.
dataset.setValue("REQUEST_TIME", (new Date()).toString());
// Send the dataset to the named service.
ssPool.call("service_name", dataset, null);

このサンプル・コードは、HttpServletRequestオブジェクトをServletDataSetオブジェクトに手動で変換する方法を示しています。この新しい形式では、setValue()メソッドを使用してパラメータを追加することができます。新しい値は、文字列で表されるキーに関連付けられています。次に、SessionPoolから継承されるcall()メソッドが呼び出されます。このメソッドはServletDataSetクラスを受け付けますが、トランザクションで使用するその他の引数を要求します。この最後のパラメータにnullを指定すると、トランザクションを使用して複数のセッション呼出しをグループ化していないことを示します。詳細は、「トランザクションを使用する」を参照してください。