LDAP/JNDI auto reconnect ?

S

sony.antony

Hello:

We have some DirContext objects we hold on to. So that whenever we
need to access ldap, we dont have to re-instantiate InitialDirContext.

Or at least that was teh idea.

Now we find that if teh ldap is restarted *after* this DirContext
object is instantiated, this object becomes unusable.
( Because the peer side of the original TCP socket it has been holding
on to has been closed )
Is there a way around it ?
We are using the usual "com.sun.jndi.ldap.LdapCtxFactory"
which supports along with other things connection pooling.

1. Does it have something we can make use of ?
2. Unrelated Q : When we tried the following code, it didnt give us the
pooled connections.
It gave the pooled connections only when all the connection pool
parameters were given as system properties through the -D switch.
Since we dont want to specify these properties for the whole system,
is there a way to overcome this


Hashtable env = new Hashtable(11);
env.put(Context.INITIAL_CONTEXT_FACTORY,"");
env.put(Context.PROVIDER_URL, "ldap://hostname:2389/dc=blah..");
env.put(DirContext.SECURITY_PRINCIPAL, "uid=somebody,...");
env.put(DirContext.SECURITY_CREDENTIALS, "passwd");
env.put("com.sun.jndi.ldap.connect.pool", "true");
env.put("com.sun.jndi.ldap.connect.pool.initsize", "3");
env.put("com.sun.jndi.ldap.connect.pool.debug", "fine");
DirContext ctx = new InitialDirContext(env);

Thanks for reading


--sony
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,190
Latest member
ClayE7480

Latest Threads

Top