Hi, I think that the op is defining a JNDI connection pool in Tomcat and then defining an additional pool using C3P0 within the application via Hibernate.
That is very unlikely to work. Instead - change the pool parameters within Tomcat appropriately as needed and drop the C3P0 pool in hibernate entirely - just treat it as a JNDI connection. The C3P0 project hasn't been active for a long time (according to sourceforge) and there are several deadlock bugs listed. Essentially I think their hibernate configuration is incorrect for a JNDI connection. Thanks, On Mon, 2010-09-20 at 20:34 -0400, Jorge Medina wrote: > I had a slightly similar problem using Oracle data sources with > Oracle connection caching. > > In this case, I had defined my connection settings via JNDI in > context.xml. (therefore they were common for both web apps) > > Since the classes were loaded by Tomcat and not by my webapps, a > datasource was being created by each webapp, but the cache names were > having collisions. The first application was able to create the cache, > but the second would fail because a cache instance with the same name > already existed. I was able to avoid the problem by not giving a name > to the cache, Oracle would create a random name for each and two > instances of the cache would be created, one for each application. > > Could you have a similar issue with C3PO? I have never used it. > > > On Sat, Sep 18, 2010 at 7:17 AM, Rahul Deb Mohan <ra...@zaloni.com> wrote: > > Hello Everyone, > > > > I am using Hibernate to connect to my MySql Database using C3p0 connection > > pooling mechanism from my web application which is deployed in Tomcat. > > > > Eventually, now I need to develop a child application, using the same > > Database instance. > > > > So I have two application now : say Application A and Application B, and > > both will be deployed in a Tomcat Server and both has to use the same > > Database, let say my DB name is EmployeeDB. > > > > I defined Resource parameters separately for both of the application and > > have done all the settings that are required for the connectivity. Now when > > I deploy the applications, and try to run them, the first application ( it > > may be Application A or Application B) loads up properly, but the second > > application shows error as it could not connect to the Database. Whatever > > application I load first, it successfully connect to the Database, but > > second application fails to connect. > > > > I am guessing there must be some locking mechanism, provided by either > > Hibernate or the Tomcat, which is preventing me to do so. > > > > Please help me to overcome this issue as that is my fundamental requirement > > now. > > > > Thanks is advance. > > > > I am posting the stack trace hereby: > > > > [code]com.mchange.v2.cfg.BasicMultiPropertiesConfig: Properties object found > > at resource path [system properties] contains a value that is not a String: > > 25 > > Skipping... > > com.mchange.v2.cfg.BasicMultiPropertiesConfig: Properties object found at > > resource path [system properties] contains a value that is not a String: 25 > > Skipping... > > 921 [http-8990-4] ERROR org.hibernate.connection.C3P0ConnectionProvider - > > could not instantiate C3P0 connection pool > > java.lang.NullPointerException > > at java.util.Hashtable.put(Hashtable.java:394) > > at > > com.mchange.v2.c3p0.DataSources.pooledDataSource(DataSources.java:314) > > at > > org.hibernate.connection.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:181) > > at > > org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137) > > at > > org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:79) > > at > > org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:448) > > at > > org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89) > > at > > org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101) > > at > > org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325) > > at > > com.duke.zaloni.studentdb.server.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:17) > > at > > com.duke.zaloni.studentdb.server.LoginServletImpl.doPost(LoginServletImpl.java:33) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > > at > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > > at > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > > at > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > > at java.lang.Thread.run(Thread.java:619) > > Hibernate Error:::::Initial SessionFactory creation > > failed.org.hibernate.HibernateException: Could not instantiate C3P0 > > connection pool > > org.hibernate.HibernateException: Could not instantiate C3P0 connection pool > > at > > org.hibernate.connection.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:185) > > at > > org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137) > > at > > org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:79) > > at > > org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:448) > > at > > org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89) > > at > > org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101) > > at > > org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325) > > at > > com.duke.zaloni.studentdb.server.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:17) > > at > > com.duke.zaloni.studentdb.server.LoginServletImpl.doPost(LoginServletImpl.java:33) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > > at > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > > at > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > > at > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > > at java.lang.Thread.run(Thread.java:619) > > Caused by: java.lang.NullPointerException > > at java.util.Hashtable.put(Hashtable.java:394) > > at > > com.mchange.v2.c3p0.DataSources.pooledDataSource(DataSources.java:314) > > at > > org.hibernate.connection.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:181) > > ... 22 more > > [/code] > > > > > > Here is my Hibernate.Cfg.xml file: > > > > [code]<?xml version='1.0' encoding='utf-8'?> > > <!DOCTYPE hibernate-configuration PUBLIC > > "-//Hibernate/Hibernate Configuration DTD 3.0//EN" > > "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> > > > > <hibernate-configuration> > > > > <session-factory name="java:hibernate/SessionFactory"> > > > > <property > > name="hibernate.connection.datasource">java:comp/env/jdbc/EmployeeDB</property> > > <property > > name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property> > > > > <property name="hibernate.c3p0.acquire_increment">5</property> > > <property name="hibernate.c3p0.idle_test_period">1800</property> > > <!-- seconds --> > > <property name="hibernate.c3p0.timeout">180</property> <!-- seconds > > --> > > <property name="hibernate.c3p0.max_size">100</property> > > <property name="hibernate.c3p0.max_statements">500</property> > > <property name="hibernate.c3p0.min_size">10</property> > > > > <property name="hibernate.c3p0.acquireRetryAttempts">30</property> > > <property > > name="hibernate.c3p0.testConnectionOnCheckout">true</property> > > <property name="hibernate.c3p0.preferredTestQuery">SELECT > > 1</property> > > > > <property > > name="dialect">org.hibernate.dialect.MySQLDialect</property> > > > > <property name="current_session_context_class">thread</property> > > > > <property > > name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> > > > > <property name="show_sql">false</property> > > > > <property name="connection.autocommit">false</property> > > > > <mapping resource="com/duke/zaloni/studentdb/data/user/User.hbm.xml" > > /> > > > > </session-factory> > > > > </hibernate-configuration>[/code] > > > -- Best Regards, Brett Delle Grazie ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org