アプリケーションを取得するのに約 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秒の遅延ではなくすばやくエラーを取得するために使用できるパラメーターがあるかどうかの手がかり。
前もって感謝します。ガウラフ