java - JDBC, JNDI Problem with tomcat 6.0.26 -
greetings, developing webapp requires setting datasource jndi using enterprise jdbc classes.i using netbeans 6.9 bundled tomcat (6.0.26 app) server mysql 5.xx.the issue can still see database values relation being displayed in jsp page whereas during tomcat initialization says this:
. .
severe: servlet.service() servlet jsp threw exception java.lang.classcastexception: org.apache.tomcat.dbcp.dbcp.basicdatasource cannot cast javax.naming.context @ org.apache.jsp.hello_jsp._jspservice(hello_jsp.java:141) @ org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70) @ javax.servlet.http.httpservlet.service(httpservlet.java:717) @ org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:374) @ org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:313) @ org.apache.jasper.servlet.jspservlet.service(jspservlet.java:260) @ javax.servlet.http.httpservlet.service(httpservlet.java:717) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:290) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.netbeans.modules.web.monitor.server.monitorfilter.dofilter(monitorfilter.java:393) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:233) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:191) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:127) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:102) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:298) @ org.apache.coyote.http11.http11aprprocessor.process(http11aprprocessor.java:859) @ org.apache.coyote.http11.http11aprprotocol$http11connectionhandler.process(http11aprprotocol.java:579) @ org.apache.tomcat.util.net.aprendpoint$worker.run(aprendpoint.java:1555) @ java.lang.thread.run(thread.java:619) jul 25, 2010 1:28:25 org.apache.catalina.core.applicationcontext log info: sessionlistener: contextdestroyed() jul 25, 2010 1:28:25 org.apache.catalina.core.applicationcontext log info: contextlistener: contextdestroyed() jul 25, 2010 1:28:32 org.apache.catalina.core.applicationcontext log info: contextlistener: contextinitialized() jul 25, 2010 1:28:32 org.apache.catalina.core.applicationcontext log info: sessionlistener: contextinitialized() jul 25, 2010 1:28:40 org.apache.catalina.core.standardwrappervalve invoke severe: servlet.service() servlet jsp threw exception javax.naming.namenotfoundexception: name nexusirm not bound in 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:140) @ org.apache.naming.namingcontext.lookup(namingcontext.java:781) @ 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.selectorcontext.lookup(selectorcontext.java:152) @ javax.naming.initialcontext.lookup(initialcontext.java:392) @ org.apache.jsp.hello_jsp._jspservice(hello_jsp.java:141) @ org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70) @ javax.servlet.http.httpservlet.service(httpservlet.java:717) @ org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:374) @ org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:313) @ org.apache.jasper.servlet.jspservlet.service(jspservlet.java:260) @ javax.servlet.http.httpservlet.service(httpservlet.java:717) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:290) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.netbeans.modules.web.monitor.server.monitorfilter.dofilter(monitorfilter.java:393) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:233) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:191) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:127) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:102) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:298) @ org.apache.coyote.http11.http11aprprocessor.process(http11aprprocessor.java:859) @ org.apache.coyote.http11.http11aprprotocol$http11connectionhandler.process(http11aprprotocol.java:579) @ org.apache.tomcat.util.net.aprendpoint$worker.run(aprendpoint.java:1555) @ java.lang.thread.run(thread.java:619) jul 25, 2010 1:29:50 org.apache.catalina.core.standardwrappervalve invoke severe: servlet.service() servlet jsp threw exception javax.naming.namenotfoundexception: name jdbc not bound in context @ org.apache.naming.namingcontext.lookup(namingcontext.java:770) @ org.apache.naming.namingcontext.lookup(namingcontext.java:153) @ org.apache.naming.selectorcontext.lookup(selectorcontext.java:152) @ javax.naming.initialcontext.lookup(initialcontext.java:392) @ org.apache.jsp.hello_jsp._jspservice(hello_jsp.java:143) @ org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70) @ javax.servlet.http.httpservlet.service(httpservlet.java:717) @ org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:374) @ org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:313) @ org.apache.jasper.servlet.jspservlet.service(jspservlet.java:260) @ javax.servlet.http.httpservlet.service(httpservlet.java:717) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:290) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.netbeans.modules.web.monitor.server.monitorfilter.dofilter(monitorfilter.java:393) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:235) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:233) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:191) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:127) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:102) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:298) @ org.apache.coyote.http11.http11aprprocessor.process(http11aprprocessor.java:859) @ org.apache.coyote.http11.http11aprprotocol$http11connectionhandler.process(http11aprprotocol.java:579) @ org.apache.tomcat.util.net.aprendpoint$worker.run(aprendpoint.java:1555) @ java.lang.thread.run(thread.java:619) jul 25, 2010 1:30:10 org.apache.catalina.core.applicationcontext log
. .
i have following inside /web-inf/web.xml
<resource-ref> <res-ref-name>jdbc/nexusirm</res-ref-name> <res-type>javax.sql.datasource</res-type> <res-auth>container</res-auth> <res-sharing-scope>shareable</res-sharing-scope> </resource-ref>
and following in /meta-inf/context.xml
<resource name="jdbc/nexusirm" auth="container" type="javax.sql.datasource" driverclassname="com.mysql.jdbc.driver" url="jdbc:mysql://localhost:3306/nexusirm" username="root" password="" maxactive="20" maxidle="30" maxwait="-1" />
my application code looks like:
<% try{ context initctx = new initialcontext(); datasource ds = (datasource) initctx.lookup("java:comp/env/jdbc/nexusirm"); connection conn=ds.getconnection(); statement stmt=conn.createstatement(); resultset rs=stmt.executequery("select * irm_gtresult"); if(rs.next()) { for(int i=1;i<9;i++){ out.write(rs.getstring(i)); } } conn.close(); }catch(sqlexception e) {out.write(e.getmessage()); e.printstacktrace();} %>
i curious why these exceptions being thrown while application being executed perfectly!
try ...
connection conn; try { // obtain our environment naming context context initctx = new initialcontext(); context envctx = (context) initctx.lookup("java:comp/env"); // our data source datasource ds = (datasource) envctx.lookup("jdbc/nexusirm"); // allocate , use connection pool connection conn = ds.getconnection(); ... use connection access database ... } { if(conn != null) conn.close(); }
note: make sure put close in !!!
Comments
Post a Comment