package io.ebeaninternal.server.core;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.persistence.PersistenceException;
import javax.sql.DataSource;

Helper to lookup a DataSource from JNDI.
/** * Helper to lookup a DataSource from JNDI. */
public class JndiDataSourceLookup { public JndiDataSourceLookup() { }
Return the DataSource by JNDI lookup.

If name is null the 'default' dataSource is returned.

/** * Return the DataSource by JNDI lookup. * <p> * If name is null the 'default' dataSource is returned. * </p> */
public DataSource lookup(String jndiName) { try { Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup(jndiName); if (ds == null) { throw new PersistenceException("JNDI DataSource [" + jndiName + "] not found?"); } return ds; } catch (NamingException ex) { throw new PersistenceException(ex); } } }