Hi All,
I am trying to setup JNDI mapping for oracle JDBC Connection Pooling with
Tomcat 6.0.29. This is giving me following error
javax.naming.NameNotFoundException: Name dynic is not bound in this Context
org.apache.naming.NamingContext.lookup(NamingContext.java:770)
org.apache.naming.NamingContext.lookup(NamingContext.java:140)
org.apache.naming.NamingContext.lookup(NamingContext.java:781)
org.apache.naming.NamingContext.lookup(NamingContext.java:153)
org.apache.naming.factory.ResourceLinkFactory.getObjectInstance(ResourceLinkFactory.java:97)
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
org.apache.naming.NamingContext.lookup(NamingContext.java:793)
org.apache.naming.NamingContext.lookup(NamingContext.java:140)
org.apache.naming.NamingContext.lookup(NamingContext.java:781)
org.apache.naming.NamingContext.lookup(NamingContext.java:153)
com.anjib.factory.DynICFactory.<init>(DynICFactory.java:41)
com.anjib.actions.CommonAction.execute(CommonAction.java:42)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)I ran same
program with Tomcat 7.0.12 and it works fine. Here are my configurations:1. In
META-INF/context.xml<Context antiJARLocking="true" path="/ClientDAOTest">
<Resource name="jdbc/dynic" auth="Container"
type="oracle.jdbc.pool.OracleDataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
url="jdbc:oracle:thin:@//localhost:4001/SAIDIT" user="sfed_schema"
password="sfed_schema" maxActive="20"
maxIdle="10" maxWait="-1" /> </Context>2. In
WEB-INF/web.xml<resource-ref> <res-ref-name>jdbc/dynic</res-ref-name>
<res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope> </resource-ref>
2. In factory class I havepublic class DynICFactory implements JNDIInterface{
private DataSource dataSource; @Override public DataSource
getDataSource() { return dataSource; }
@Override public AgencyInterface createAgencyManager() {
AgencyImpl manager = new AgencyImpl();
manager.setDataSource(dataSource); return manager; }
public DynICFactory() throws DAOException { DataSource ds = null;
try { Context initCtx = new InitialContext(); Context
envCtx = (Context) initCtx.lookup("java:comp/env"); ds =
(DataSource) envCtx.lookup("jdbc/dynic"); } catch
(NamingException e) { throw new DAOException("Tomcat JNDI setup
failed", e); } this.dataSource = ds; } }
Anjib Man Mulepati
409-225-6216