2011-12-06 3 views
0

내 응용 프로그램에 다음과 같은 오류가 자주 발생합니다. 관련된 기술은 Sturts, hibernate, mysql, tomcat입니다. 이상한 부분은 응용 프로그램이 멈추는 데 보통 며칠이 걸린다는 것입니다. 즉, Tomcat과 MySQL 서비스가 모두 작동하지만 웹 페이지를로드 할 수 없어 나에게 이해가되지 않습니다.tomcat, hibernate, mysql 연결 문제

누군가가 문제를 해결하기 위해 아이디어 나 지침을 제공 할 수 있습니까? 감사.

WARN (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1) [com.mchange.v2.resourcepool.BasicResourcePool] - [email protected]0 -- 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) 

답변

0

db 서버 이외의 컴퓨터에서 데이터베이스에 연결할 때는 루트 사용자를 사용하지 않는 것이 좋습니다. 어떤 컴퓨터에서든 데이터베이스에 연결할 수있는 db 사용자를 만드는 것이 좋습니다. 'db1'@ '%'(http://dev.mysql.com/doc/refman/5.5/en/adding-users.html 참조)

+0

감사합니다. app + tomcat + db는 mysql 구성 로컬 호스트 인 vps에 있습니다. 방금 hibernate.cfg.xml을 두 번 확인했습니다. 앱의 연결 사용자 이름은'root'가 아닙니다. 그렇다면 왜 루트가 스택에 표시됩니까? 또는 log4j를 잘못 구성 했습니까? – Will