/** * Invoked when the registry shuts down, giving services a chance to perform any final operations. * Service implementations should not attempt to invoke methods on other services (via proxies) as * the service proxies may themselves be shutdown. */ public void shutdown() { try { if (ldapConnection != null && ldapConnection.isConnected()) { if (logger.isDebugEnabled()) logger.debug("disconnecting from server {}", ldapHostName); ldapConnection.disconnect(); } } catch (LDAPException e) { throw new RuntimeException(e); } }
/** * connect and/or authenticate at LDAP server. * * @throws LDAPException */ private synchronized void checkAndconnect() throws LDAPException { if (!ldapConnection.isConnected()) { if (logger.isDebugEnabled()) logger.debug("connecting server: {}", ldapHostName); ldapConnection.connect(ldapVersion, ldapHostName, ldapPort, ldapAuthDN, ldapPwd); } if (!ldapConnection.isAuthenticated()) { if (logger.isDebugEnabled()) logger.debug("authenticate at server: {}", ldapHostName); ldapConnection.authenticate(ldapVersion, ldapAuthDN, ldapPwd); } }