Hi All=2C
I am trying to setup JNDI mapping for oracle JDBC Connection Pooling with T=
omcat 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(ResourceLi=
nkFactory.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(RequestProc=
essor.java:425)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:22=
8)
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 pro=
gram with Tomcat 7.0.12 and it works fine. Here are my configurations:1. In=
META-INF/context.xml<Context antiJARLocking=3D"true" path=3D"/ClientDAOTes=
t"> <Resource name=3D"jdbc/dynic" auth=3D"Container" =
type=3D"oracle.jdbc.pool.OracleDataSource" driverClassName=3D=
"oracle.jdbc.driver.OracleDriver" factory=3D"oracle.jdbc.pool.Or=
acleDataSourceFactory" url=3D"jdbc:oracle:thin:@//localhost:4001=
/SAIDIT" user=3D"sfed_schema" password=3D"sfed_schema=
" maxActive=3D"20" maxIdle=3D"10" maxWait=
=3D"-1" /> </Context>2. In WEB-INF/web.xml<resource-ref> <res-re=
f-name>jdbc/dynic</res-ref-name> <res-type>javax.sql.DataSource</res-type>
=
<res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-sc=
ope> </resource-ref>
2. In factory class I havepublic class DynICFactory implements JNDIInterfac=
e{ private DataSource dataSource=3B @Override public DataS=
ource getDataSource() { return dataSource=3B }
@Override public AgencyInterface createAgencyManager() { Agen=
cyImpl manager =3D new AgencyImpl()=3B manager.setDataSource(dataSou=
rce)=3B return manager=3B }
public DynICFactory() throws DAOException { DataSource ds =3D nu=
ll=3B try { Context initCtx =3D new InitialContext()=3B =
Context envCtx =3D (Context) initCtx.lookup("java:comp/env")=3B =
ds =3D (DataSource) envCtx.lookup("jdbc/dynic")=3B =
} catch (NamingException e) { throw new DAOException("Tomca=
t JNDI setup failed"=2C e)=3B } this.dataSource =3D ds=3B =
} }
Anjib Man Mulepati
409-225-6216
=
|