ctx = new InitialContext();
String recommenderClassName = (String) ctx.lookup("java:comp/env/recommender-class");
if (recommenderClassName == null) {
String recommenderJNDIName = (String) ctx.lookup("java:comp/env/recommender-jndi-name");
if (recommenderJNDIName == null) {
throw new CreateException("recommender-class and recommender-jndi-name env-entry not defined");
}
recommender = (Recommender) ctx.lookup("java:comp/env/" + recommenderJNDIName);
} else {
recommender = Class.forName(recommenderClassName).asSubclass(Recommender.class).newInstance();
}
} catch (NamingException ne) {
throw new CreateException(ne.toString());
} catch (ClassNotFoundException cnfe) {
throw new CreateException(cnfe.toString());
} catch (InstantiationException ie) {
throw new CreateException(ie.toString());
} catch (IllegalAccessException iae) {
throw new CreateException(iae.toString());
} finally {
if (ctx != null) {
try {
ctx.close();
} catch (NamingException ne) {
throw new CreateException(ne.toString());
}
}
}
}