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 Cont=
ext
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(Resou=
rceLinkFactory.java:97)
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:3=
04)
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(Reques=
tProcessor.java:425)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja=
va:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:191=
3)
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=3D"true" path=3D"/ClientD=
AOTest"> <Resource name=3D"jdbc/dynic" auth=3D"Container" type=3D"oracle.j=
dbc.pool.OracleDataSource" driverClassName=3D"oracle.jdbc.driver.OracleDriv=
er" factory=3D"oracle.jdbc.pool.OracleDataSourceFactory" url=3D"jdbc:oracle=
:thin:@//localhost:4001/SAIDIT" user=3D"sfed_schema" password=3D"sfed_schem=
a" maxActive=3D"20" maxIdle=3D"10" maxWait=3D"-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>
3. In factory class I havepublic class DynICFactory implements JNDIInterfac=
e{
private DataSource dataSource=3B
@Override public DataSource getDataSource() { return dataSource=3B }
@Override public AgencyInterface createAgencyManager() { AgencyImpl manage=
r =3D new AgencyImpl()=3B manager.setDataSource(dataSource)=3B return manag=
er=3B }
public DynICFactory() throws DAOException { DataSource ds =3D null=3B tr=
y { 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("Tomcat JNDI setup failed"=2C e)=3B } thi=
s.dataSource =3D ds=3B }
Anjib Man Mulepati
409-225-6216
=20
> Date: Wed=2C 7 Sep 2011 10:55:19 +0100
> From: pid@pidster.com
> To: users@tomcat.apache.org
> Subject: Re: JNDI configuration with 6.0.29
>=20
> On 06/09/2011 21:11=2C Anjib Mulepati wrote:
> >=20
> > Hi All=2C
> > I am trying to setup JNDI mapping for oracle JDBC Connection Pooling wi=
th Tomcat 6.0.29. This is giving me following error
> > javax.naming.NameNotFoundException: Name dynic is not bound in this Con=
text
> > 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(Resour=
ceLinkFactory.java:97)
> > javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:30=
4)
> > 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(Request=
Processor.java:425)
> > org.apache.struts.action.RequestProcessor.process(RequestProcessor.jav=
a: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=3D"true" path=3D"/ClientDA=
OTest"> <Resource name=3D"jdbc/dynic" auth=3D"Container" =
type=3D"oracle.jdbc.pool.OracleDataSource" driverClassNam=
e=3D"oracle.jdbc.driver.OracleDriver" factory=3D"oracle.jdbc.poo=
l.OracleDataSourceFactory" url=3D"jdbc:oracle:thin:@//localhost:=
4001/SAIDIT" user=3D"sfed_schema" password=3D"sfed_sc=
hema" maxActive=3D"20" maxIdle=3D"10" maxW=
ait=3D"-1" /> </Context>2. In WEB-INF/web.xml<resource-ref> <res=
-ref-name>jdbc/dynic</res-ref-name> <res-type>javax.sql.DataSource</res-typ=
e> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing=
-scope> </resource-ref>
> > 2. In factory class I havepublic class DynICFactory implements JNDIInte=
rface{ private DataSource dataSource=3B @Override public D=
ataSource getDataSource() { return dataSource=3B }
> > @Override public AgencyInterface createAgencyManager() { =
AgencyImpl manager =3D new AgencyImpl()=3B manager.setDataSource(dat=
aSource)=3B return manager=3B }
> > public DynICFactory() throws DAOException { DataSource ds =
=3D null=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(=
"Tomcat JNDI setup failed"=2C e)=3B } this.dataSource =3D ds=
=3B } }
>=20
> That came out garbled. Can you reformat it so we can read it?
>=20
>=20
> p
>=20
>=20
=
|