Я использую UnboundID LDAP SDK для своего сервера LDAP. Я сделал способ подключения.
public static LDAPConnection connectSDK(String ip, Integer port, String id, String pw) throws LDAPException {
LDAPConnection ldap = new LDAPConnection(ip,port,id,pw);
System.out.println("success");
return ldap;
}
В моем основном методе я вызываю эти методы с параметрами, и они отлично работают.
public static void main(String[] args) throws LDAPException {
connectSDK("192.168.0.60",389,"******","*****");
}
Я хотел пойти дальше. Я сделал метод поиска данных с использованием фильтра.
public static void searchSDK(String filter) throws LDAPException {
LDAPConnection ldap = connectSDK();
/* Before calling a method with parameter, I used to connect with this,
and use 'ldap' variable to put search results.
Now, I am using a method with parameters.
I don't know what to do with 'ldap' variable.
If I delete it, 'SearchRequest' doesn't run.
Also how can I continue to use the connection from connectSDK method? */
SearchRequest searchRequest = new SearchRequest("c=kr",SearchScope.SUB,filter);
SearchResult searchResult = ldap.search(searchRequest);
System.out.println(searchResult);
}
В конечном счете, я хочу вызвать два из этих методов в моем main, как показано ниже.
public static void main(String[] args) throws LDAPException {
//connect
connectSDK("192.168.0.60",389,"*****","******");
//search using a filter
searchSDK("hotdog");
}
Мне нужен совет по методам searchSDK().
*1) как использовать созданный сеансовый метод connectSDK
*2) как обрабатывать переменную 'ldap'.
*3) ldap.close() I хотите закрыть сеанс после, но этот метод не сработает. Есть ли другой способ?
ldap.close
в блокfinally
или используйтеtry-with-resources
, еслиLDAPConnection
имеет интерфейсAutoCloseable
- person Scary Wombat   schedule 21.11.2018