log.debug("Starting initJNDI");
Hashtable env = null;
Configuration c = configuration.subset("jndi");
if (c == null)
{
throw new TorqueException(
"JndiDataSourceFactory requires a jndi "
+ "path property to lookup the DataSource in JNDI.");
}
try
{
Iterator i = c.getKeys();
while (i.hasNext())
{
String key = (String) i.next();
if (key.equals("path"))
{
path = c.getString(key);
log.debug("JNDI path: " + path);
}
else if (key.equals("ttl"))
{
ttl = c.getLong(key, ttl);
log.debug("Time between context lookups: " + ttl);
}
else
{
if (env == null)
{
env = new Hashtable();
}
String value = c.getString(key);
env.put(key, value);
log.debug("Set jndi property: " + key + "=" + value);
}
}
if (env == null)
{
ctx = new InitialContext();
}
else
{
ctx = new InitialContext(env);
}
log.debug("Created new InitialContext");
debugCtx(ctx);
}
catch (Exception e)
{
log.error("", e);
throw new TorqueException(e);
}
}