It seems common knowledge that I/O streams and JDBC database connections are resources that need to be released as soon as they are no longer needed. Not so common knowledge is that the JNDI naming context (usually InitialContext) is a scarce resource.
Just like database connections, ResultSets, statements, and streams, naming context has some other object that provides its functionality behind the scenes (it usually resides inside some LDAP server). Just like any other