Does the error occur in that piece of code or is it during Tomcat
startup? The stack trace looks like the exception is thrown during
startup, if I'm reading it correctly.
-- 
Len

On Sat, Sep 6, 2008 at 06:29, Daniele Development-ML
<[EMAIL PROTECTED]> wrote:
> Thanks David!
> The code is:
>
> Class.forName("com.mysql.jdbc.Driver");
> String url = "jdbc:mysql://localhost:3306/cellmlrep";
>
> Connection con = DriverManager.getConnection(url, "root", "");
>
> Statement stmt = con.createStatement();
>
> String query = "SELECT * FROM user_accounts u;";
> stmt.executeQuery(query);
>
>
> Daniele
>
> On Fri, Sep 5, 2008 at 6:00 PM, David Smith <[EMAIL PROTECTED]> wrote:
>
>> And the code you use to get a connection?  Looks like the database pool
>> should be fine, you are getting a javax.sql.DataSource object but treating
>> it as a java.naming.Context object.
>>
>> As an aside and definitely not things affecting the issue you describe
>> below:
>> 1. Do not use the root user in the database service for a web application.
>>  It's a potential security flaw big enough to fit a jumbo jet into.
>> 2. Do use strong passwords on the database (especially for the root
>> account) with at least three character classes (upper case, lower case,
>> punctuation, numbers) and no dictionary words present.
>> 2. Add a validatonQuery="select 1" attribute to your <Resource ... />
>> element so connections are tested and regenerated as needed.
>>
>> --David
>>
>>
>> Daniele Development-ML wrote:
>>
>>> Hello everybody,
>>>
>>> I am trying to set up the configuration for a pool of connections to a
>>> MySQL
>>> DB and I get the following exception when deploying on Tomcat.
>>> I followed the steps at
>>>
>>> http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
>>> .
>>>
>>> The application actually consists of a web service that performs a query
>>> to
>>> the DB.
>>>
>>> Any hints or suggestions? Thank you!
>>>
>>> Context file
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <Context path="/DB_WS" debug="5" reloadable="true" crossContext="true">
>>>    <Resource name="jdbc/MySQL_cellmlrep" type="javax.sql.DataSource"
>>> auth="Container"
>>>              user="root" password="root"
>>> driverClassName="com.mysql.jdbc.Driver"
>>>              url="jdbc:mysql://localhost:3306/cellmlrep" maxActive="8"
>>> maxIdle="4"/>
>>> </Context>
>>>
>>> Web.xml
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee";
>>> xmlns:xsi="
>>> http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
>>> http://java.sun.com/xml/ns/javaee
>>> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";>
>>>    <listener>
>>>
>>>
>>> <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
>>>    </listener>
>>>    <servlet>
>>>        <servlet-name>DBAccess</servlet-name>
>>>
>>>
>>> <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
>>>        <load-on-startup>1</load-on-startup>
>>>    </servlet>
>>>    <servlet>
>>>        <servlet-name>DBAccessService</servlet-name>
>>>
>>>
>>> <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
>>>        <load-on-startup>1</load-on-startup>
>>>    </servlet>
>>>    <servlet-mapping>
>>>        <servlet-name>DBAccess</servlet-name>
>>>        <url-pattern>/DBAccess</url-pattern>
>>>    </servlet-mapping>
>>>    <servlet-mapping>
>>>        <servlet-name>DBAccessService</servlet-name>
>>>        <url-pattern>/DBAccessService</url-pattern>
>>>    </servlet-mapping>
>>>    <session-config>
>>>        <session-timeout>
>>>            30
>>>        </session-timeout>
>>>    </session-config>
>>>    <welcome-file-list>
>>>        <welcome-file>index.jsp</welcome-file>
>>>    </welcome-file-list>
>>>    <resource-ref>
>>>        <description>
>>>            The database DataSource for the Acme web application.
>>>        </description>
>>>        <res-ref-name>jdbc/MySQL_cellmlrep</res-ref-name>
>>>        <res-type>javax.sql.DataSource</res-type>
>>>        <res-auth>Container</res-auth>
>>>    </resource-ref>
>>> </web-app>
>>>
>>>
>>> Exception
>>>
>>> java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.BasicDataSource
>>> cannot be cast to javax.naming.Context
>>>        at
>>>
>>> org.apache.catalina.core.NamingContextListener.createSubcontexts(NamingContextListener.java:1203)
>>>        at
>>>
>>> org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1015)
>>>        at
>>>
>>> org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:633)
>>>        at
>>>
>>> org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:237)
>>>        at
>>>
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>>>        at
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4252)
>>>        at
>>>
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>>>        at
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>>>        at
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
>>>        at
>>>
>>> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
>>>        at
>>>
>>> org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
>>>        at
>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
>>>        at
>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
>>>        at
>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>>>        at
>>>
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>>>        at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>>>        at
>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>>>        at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>>>        at
>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>>        at
>>> org.apache.catalina.core.StandardService.start(StandardService.java:516)
>>>        at
>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>>>        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>        at
>>>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>        at
>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>>>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to