![]() |
![]() |
|
|
パラメータ値をクリアする
Jolt クラス・ライブラリには、オブジェクトの既存の属性値を消去し、事実上オブジェクトの再利用ができるようにする clear() メソッドが用意されています。リストの「Jolt オブジェクトの再利用 (reuseSample.java)」 は、clear() メソッドを使用してパラメータ値をクリアする方法とJoltRemoteService のパラメータ値を再利用する方法を示しています。この例では、再利用するためにサービスを破棄する必要がないことを示しています。代わりに、svc.clear(); ステートメントを使用して既存の入力パラメータ値を廃棄してから addString() メソッドを再度使用しています。
Jolt オブジェクトの再利用 (reuseSample.java)
/* Copyright 1999 BEA Systems, Inc. All Rights Reserved */
import java.net.*;
import java.io.*;
import bea.jolt.*;
/*
* これは、各呼び出しの後に JoltRemoteService を再利用する
* 方法を示したサンプル・プログラムです。
*/
class reuseSample
{
private static JoltSession s_session;
static void init( String host, short port )
{
/* Tuxedo ドメインに接続する準備をする。 */
JoltSessionAttributes attr = new JoltSessionAttributes();
attr.setString(attr.APPADDRESS,"//"+ host+":" + port);
String username = null;
String userrole = "sw-developer";
String applpasswd = null;
String userpasswd = null;
/* 設定された認証レベルを調べる。 */
switch (attr.checkAuthenticationLevel())
{
case JoltSessionAttributes.NOAUTH:
break;
case JoltSessionAttributes.APPASSWORD:
applpasswd = "secret8";
break;
case JoltSessionAttributes.USRPASSWORD:
username = "myName";
userpasswd = "BEA#1";
applpasswd = "secret8";
break;
}
/* アイドル・タイムアウトなし (0) でログオンする。 */
/* ログオフするまでネットワーク接続を維持する。 */
attr.setInt(attr.IDLETIMEOUT, 0);
s_session = new JoltSession(attr, username, userrole,
userpasswd, applpasswd);
}
public static void main( String args[] )
{
String host;
short port;
JoltRemoteService svc;
if (args.length != 2)
{
System.err.println("Usage:reuseSample host port");
System.exit(1);
}
/* 初期化用にホスト名とポート番号を取得する。 */
host = args[0];
port = (short)Integer.parseInt(args[1]);
init(host, port);
/* DELREC サービスのオブジェクト・リファレンスを取得する。
* このサービスには出力パラメータはなく、入力
* パラメータは 1 つのみ。
*/
svc = new JoltRemoteService("DELREC", s_session);
try
{
/*入力パラメータ REPNAME を設定する。 */
svc.addString("REPNAME", "Record1");
svc.call(null);
/* 再利用する前に入力パラメータを変更する。*/
svc.setString("REPNAME", "Record2");
svc.call(null);
/* 入力パラメータを単に廃棄する。 */
svc.clear();
svc.addString("REPNAME", "Record3");
svc.call(null);
}
catch (ApplicationException e)
{
System.err.println("Service DELREC failed: "+
e.getMessage()+" "+ svc.getStringDef("MESSAGE", null));
}
/* ログオフし、オブジェクトを廃棄する。 */
s_session.endSession();
}
}
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|