No, actually it happens when I invoke the WS, which access to the DB.
Daniele

On Sat, Sep 6, 2008 at 4:44 PM, Len Popp <[EMAIL PROTECTED]> wrote:

> 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