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)

Reply via email to