tomcat, спящий режим, проблема с подключением к MySQL - PullRequest
0 голосов
/ 06 декабря 2011

В моем приложении довольно часто появляется следующая ошибка. Используемые технологии: Sturts, Hibernate, MySQL, Tomcat. Странно то, что приложению обычно требуется несколько дней, чтобы приложение зависло, так как служба tomcat и mysql остаются работоспособными, но веб-страницы не могут быть загружены, что для меня не имеет смысла.

Может кто-нибудь дать мне какие-нибудь идеи или указания по решению проблемы? Спасибо.

WARN (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1) [com.mchange.v2.resourcepool.BasicResourcePool] - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1ec2ec0 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: 
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:107)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:161)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:113)
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:728)
    at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:32)
    at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1258)
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:368)

1 Ответ

0 голосов
/ 06 декабря 2011

Лучше не использовать пользователя root для подключения к базе данных с компьютера, отличного от сервера БД.Я бы порекомендовал создать пользователя БД, который может подключаться к базе данных с любого компьютера, например, 'db1' @ '%' (см .: http://dev.mysql.com/doc/refman/5.5/en/adding-users.html)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...