tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacob Kjome <h...@visi.com>
Subject Re: JNDI DataSource
Date Thu, 12 Jun 2003 17:17:24 GMT

You need a <ResourceLink> in your <Context ...> for each webapp that you 
want to make the resource available to.

Jake

At 08:08 PM 6/12/2003 +0300, you wrote:
>Hi,
>
>I'm trying to setup a JDBC DataSource on Tomcat 4.1.24.
>
>I performed the steps in the documentation:
>
>1- Added this part to the GlobalNamingResources section of the server.xml
>
>     <Resource name="jdbc/as400" scope="Shareable" 
> type="javax.sql.DataSource" auth="Container"/>
>     <Resource name="UserDatabase" scope="Shareable" 
> type="org.apache.catalina.UserDatabase" auth="Container" 
> description="User database that can be updated and saved"/>
>     <ResourceParams name="jdbc/as400">
>       <parameter>
>         <name>maxWait</name>
>         <value>5000</value>
>       </parameter>
>       <parameter>
>         <name>maxActive</name>
>         <value>8</value>
>       </parameter>
>       <parameter>
>         <name>url</name>
>         <value>jdbc:as400:AS400</value>
>       </parameter>
>       <parameter>
>         <name>password</name>
>         <value>access2k</value>
>       </parameter>
>       <parameter>
>         <name>driverClassName</name>
>         <value>com.ibm.as400.access.AS400JDBCDriver</value>
>       </parameter>
>       <parameter>
>         <name>maxIdle</name>
>         <value>4</value>
>       </parameter>
>       <parameter>
>         <name>username</name>
>         <value>DBA</value>
>       </parameter>
>     </ResourceParams>
>     <ResourceParams name="UserDatabase">
>       <parameter>
>         <name>factory</name>
>         <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
>       </parameter>
>       <parameter>
>         <name>pathname</name>
>         <value>conf/tomcat-users.xml</value>
>       </parameter>
>     </ResourceParams>
>
>2- I added this to my web.xml
>
>         <resource-ref>
>                 <description>
>                     Resource reference to a factory for java.sql.Connection
>                         instances that talk to an AS400 database
>                 </description>
>                 <res-ref-name>
>                         jdbc/as400
>                 </res-ref-name>
>                 <res-type>
>                         javax.sql.DataSource
>                 </res-type>
>                 <res-auth>
>                         Container
>                 </res-auth>
>         </resource-ref>
>
>3- I put this in a JSP
>
><%@ page import="javax.naming.*, java.sql.*, javax.sql.*" %>
><%
>Context initCtx = new InitialContext();
>Context envCtx = (Context) initCtx.lookup("java:comp/env");
>DataSource ds = (DataSource)
>   envCtx.lookup("jdbc/as400");
>
>Connection conn = ds.getConnection();
>conn.close();
>
>%>
>
>
>And Still, I get the following error when accessing the JSP
>
>type Exception report
>
>message
>
>description The server encountered an internal error () that prevented it 
>from fulfilling this request.
>
>exception
>
>org.apache.jasper.JasperException: Cannot load JDBC driver class 'null'
>         at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
>         at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
>         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
>         at 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
>         at java.lang.Thread.run(Thread.java:484)
>
>
>root cause
>
>javax.servlet.ServletException: Cannot load JDBC driver class 'null'
>         at 
> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
>         at org.apache.jsp.test_jsp._jspService(test_jsp.java:61)
>         at 
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
>         at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
>         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
>         at 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
>         at java.lang.Thread.run(Thread.java:484)
>
>
>
>--------------------------------------------------------------------------------
>
>Any help is appreciated.
>
>Thanks,
>Tarek M. Nabil
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message