- PR -

jldapを使用したLDAP接続時のConnectionTimeOutについて

1
投稿者投稿内容
ひだり
会議室デビュー日: 2007/10/25
投稿数: 1
投稿日時: 2007-10-25 18:27
はじめまして。お手数をおかけしますがよろしくお願いします。

jldapを使用してLDAP接続を行っていますがタイムアウトの設定がうまくいきません。

1000ミリ秒で指定を行っている(つもり)ですがサーバーに接続できない場合
約190秒でLDAPExceptionが発行されます。

以下実行結果とサンプル(接続のみ行うクラス)になります。

正常時(接続できる場合)
LdapTest IPAddress1 port1
connect Start Thu Oct 25 18:10:51 JST 2007
connect End Thu Oct 25 18:10:51 JST 2007

異常時(接続できない場合)
LdapTest IPAddress2 port2
connect Start Thu Oct 25 18:10:59 JST 2007
connect Exception Thu Oct 25 18:14:08 JST 2007
Connect Error

接続サンプル
import java.util.Date;

import com.novell.ldap.LDAPConnection;
import com.novell.ldap.LDAPConstraints;
import com.novell.ldap.LDAPException;

public class LdapTest {

static String host = "";

static int port = 0;

private void search(int connectionTimeout, int searchTimeout, String binddn, String bindpw,
String base, String filter, String attrs[]) {

LDAPConnection lc = new LDAPConnection();
LDAPConstraints lcon = new LDAPConstraints();

try {
// コネクションtimeout設定
lcon.setTimeLimit(connectionTimeout);

lc.setConstraints(lcon);
System.out.println("connect Start " + new Date());

lc.connect(host, port);

System.out.println("connect End " + new Date());

} catch (LDAPException e) {
System.out.println("connect Exception " + new Date());
int errcode = e.getResultCode();
switch (errcode) {
case 91:
System.out.println(e.getMessage());
break;
default:
System.out.println(e.getMessage());
break;
}
}

}

public static void getTel(String uid) throws LDAPException {

LdapTest access = new LdapTest();

String search = "(AAA" + "=" + uid + ")";
String attrs[] = { "BBB" };

access.search(1000,// connectionTimeout
1000,// searchTimeout
"cn=root",// bindDN
"*****",// bindPassword
"*****",// baseDN
search,// msnFilterString
attrs// msnAttribute
);

}

public static void main(String[] args) throws LDAPException {

host = args[0];
port = Integer.parseInt(args[1]);

getTel("UserName");

}

}

お手数になりますが何か分かりましたら教えてください。

よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)