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.
