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] > >