The overall approach being taken in this service is that there should be no synchronization at runtime obtaining connections to LDAP, there should also be no synchronization at boot time.

BUT as soon as we reach a running process modifications to the configuration are synchronized, modifications are also made to a copy of the Hashtable rather than the Hashtable currently in use for obtaining connections - once we have finished making modifications the updated Hashtable is assigned back to the volatile variable ready for use by subsequent connections.