Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » Tomcat Users »

an question occured during using tomcat5.0

rx liu

2004-02-03


All friends:
  hello.
  I had used DataSource accompanyed with tomcat5.I configured this Data which named "JDBC/ORADB" via the web page "http://localhost:8080/admin",everything was completed.then ,i retrieved this DataSource on my client which is an application.
My core code of client is here:

java.util.Properties p = new java.util.Properties();
p.put( Context.INITIAL_CONTEXT_FACTORY,"org.apache.naming.factory.ResourceFactory");
//p.put( Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.fscontext.RefFSContextFactory");
p.put( Context.PROVIDER_URL,"http://localhost:8080");
// System.setProperty("java.naming.factory,initial", "org.apache.catalina.users.MemoryUser");
try {
 Context context = new javax.naming.InitialContext( p);
 Context initCtx = ( Context)context.lookup("java:comp/env");
 DataSource ds = ( DataSource) initCtx.lookup("JDBC/ORADB");
 return ds;
} catch (NamingException e) {
 e.printStackTrace();
 return null;
}

but it failed.And the all err message like this :
javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.naming.factory.ResourceFactory. Root exception is java.lang.ClassCastException
at javax.naming.spi.NamingManager.getInitialContext (NamingManager.java:649)
at javax.naming.InitialContext.getDefaultInitCtx (InitialContext.java:243)
at javax.naming.InitialContext.init (InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at com.airversal.cer.utility.service.ServiceImp.getDataSource(ServiceImp.java:48)
at com.ariversal.cer.debug.DSTest.main(DSTest.java:21)

i do not know what had happend.i look view some sample code on www.apache.org. They all are too simple.Error occur with my try.

what had happend or how did i use datasource with tomcat5,i beg someone give me some introduce and some advise .
©2008 junlu.com - Jax Systems, LLC, U.S.A.