1

アプリケーションを取得するのに約 10 秒かかり、アプリケーション サーバーから SQL 例外 (ユーザー ID とパスワードの組み合わせが無効であるため、ログオンが拒否されたことを示す) を取得するのに約 10 秒かかるシナリオがあります。

SQL接続を直接開始するためだけに、小さなJavaアプリを作成しました。

public class TestUsingJ2SE {

/**
 * @param args
 */
public static void main(String[] args) {

    Date start = new Date();

    Connection conn = null;

    Date end = new Date();

    Properties connectionProps = new Properties();
    connectionProps.put("user", "ivr_cds");
    connectionProps.put("password", "something");

    start = new Date();

    try {
        String url = "jdbc:oracle:thin:@localhost:1521:XE";
        DriverManager.getDriver(url);
        conn = DriverManager.getConnection(url, connectionProps);
    } catch (Exception e) {
        System.out.println("Driver Manager --> error ..." + e.getMessage());
    }

    end = new Date();

    System.out.println("Using Driver Manager ..");
    System.out.println("Started at:" + start + " and finished at:" + end);
    System.out.println("Duration :" + (end.getTime() - start.getTime()));

}

}

オラクルが無効な/ユーザー名のパスワードエラーで戻ってくるまでにまだ10秒かかることがわかりました. 私たちのenvはWAS 6.1.2上にあるため、Oracleへの接続に使用したjarはojdbc5.jar(JAVA 5バージョン)でした。

ojdbc6.jar (JAVA 6 バージョン) を使用して上記のプログラムを実行すると、オラクルは 600 ミリ秒で無効なユーザー名/パスワードで戻ってきました。

なぜこれが起こっているのか、そしてOracleに10秒の遅延ではなくすばやくエラーを取得するために使用できるパラメーターがあるかどうかの手がかり。

前もって感謝します。ガウラフ

4

0 に答える 0