Hello Experts!

Can you please point me in the right direction? I am trying to simply get
the ConnectionPool to work. Below is my stack trace for error.

I am running: TomEE 1.5 on Solaris with mysql.

MySQL database is working fine. Ive checked the username/password several
times. Ive granted all privileges on the user of that table. I know the
username/password works - I am able to insert two records and error occurs.
I dont think it is a networking issue of any kind. I dont think it is a
login issue either.

I am confident I am closing the database objects properly. I followed a DAO
example provided by  Bauke Scholtz
<http://balusc.blogspot.com/2008/07/dao-tutorial-data-layer.html#DAOFactory> 
. I create a connection, prepared statement, and resultset in that order.
Then I close them in reverse order: resultset, statement, and connection. I
am happy to post the specific methods if you like. Please advise on that.

*Do you have any suggestions on where I am going wrong?* I have full access
to my Tomcat server so I can retrieve any information you may need. Thank
you for your time and thoughts. 


Here are my configuration snippets:


server.xml Resource Configuration

  <GlobalNamingResources>
    
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

    <Resource name="jdbc/myNutrition"
              auth="Container"
              maxActive="100"
              maxIdle="2"
              maxWait="10000"
              username="test"
              password="password"
              logAbandoned="true"
              removeAbandoned="true"
              removeAbandonedTimeout="60"
              driverClassName="com.mysql.jdbc.Driver"
              type="javax.sql.DataSource"
             
url="jdbc:mysql://localhost:3306/myNutrition?autoReconnect=true"/>


  </GlobalNamingResources>

web.xml

    <resource-ref>
        <description>Database Connection</description>
        <res-ref-name>jdbc/myNutrition</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>



Stack Trace

Oct 24, 2012 9:13:35 PM com.corejsf.chapter3.QuizBean <init>
INFO: * * * * * QUIZ BEAN INITIATED * * * * *
Oct 24, 2012 9:13:35 PM com.nutrition.dao.tests.QuizQuestionTest logMe
INFO: DAOFactory successfully obtained:
com.nutrition.dao.DataSourceDAOFactory@a32dba
Oct 24, 2012 9:13:35 PM com.nutrition.dao.tests.QuizQuestionTest logMe
INFO: QuizQuestionDAO successfully obtained:
com.nutrition.dao.QuizQuestionDAOJDBC@10f2e76
Oct 24, 2012 9:13:39 PM com.corejsf.chapter3.QuizBean <init>
SEVERE: null
com.nutrition.dao.DAOException:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Could not create connection to database server.
Attempted reconnect 3 times. Giving up.)
  at
com.nutrition.dao.QuizQuestionDAOJDBC.create(QuizQuestionDAOJDBC.java:139)
  at
com.nutrition.dao.tests.QuizQuestionTest.performTest(QuizQuestionTest.java:62)
  at com.corejsf.chapter3.QuizBean.<init>(QuizBean.java:37)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
  at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
  at
org.apache.webbeans.inject.InjectableConstructor.doInjection(InjectableConstructor.java:89)
  at
org.apache.webbeans.component.ManagedBean.createComponentInstance(ManagedBean.java:94)
  at
org.apache.webbeans.component.AbstractInjectionTargetBean.createDefaultInstance(AbstractInjectionTargetBean.java:133)
  at
org.apache.webbeans.component.AbstractInjectionTargetBean.createInstance(AbstractInjectionTargetBean.java:116)
  at
org.apache.webbeans.component.AbstractOwbBean.createNewInstance(AbstractOwbBean.java:233)
  at
org.apache.webbeans.portable.creation.AbstractProducer.produce(AbstractProducer.java:79)
  at
org.apache.webbeans.component.InjectionTargetWrapper.produce(InjectionTargetWrapper.java:136)
  at
org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:180)
  at
org.apache.webbeans.context.creational.BeanInstanceBag.create(BeanInstanceBag.java:81)
  at
org.apache.webbeans.context.AbstractContext.getInstance(AbstractContext.java:167)
  at
org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:132)
  at
org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:154)
  at
org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:114)

.... 

Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Could not create connection to database server.
Attempted reconnect 3 times. Giving up.)
  at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
  at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
  at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
  at
com.nutrition.dao.DataSourceDAOFactory.getConnection(DAOFactory.java:188)
  at
com.nutrition.dao.QuizQuestionDAOJDBC.create(QuizQuestionDAOJDBC.java:126)
  ... 63 more
Caused by:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could
not create connection to database server. Attempted reconnect 3 times.
Giving up.
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
  at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
  at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
  at com.mysql.jdbc.Util.getInstance(Util.java:386)
  at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1014)
  at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
  at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
  at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
  at
com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2314)
  at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2235)
  at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
  at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
  at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
  at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
  at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
  at
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
  at
org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
  at
org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
  at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
  at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
  ... 67 more
Caused by:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too
many connections
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
  at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
  at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
  at com.mysql.jdbc.Util.getInstance(Util.java:386)
  at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1014)
  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
  at
com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)
  at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)
  at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2412)
  at
com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2253)
  ... 81 more

Oct 24, 2012 9:13:39 PM org.apache.catalina.core.ApplicationContext log
INFO: No state saving method defined, assuming default server state saving






--
View this message in context: 
http://openejb.979440.n4.nabble.com/Cannot-create-PoolableConnectionFactory-error-tp4658254.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Reply via email to