私は tomcat と mysql を使用しています (ide は eclipse です)。接続プールを使用しています。
context.xml には、次のものがあります。
<Resource name="jdbc/mydb" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="root" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" />
最初は、mysql を easyphp で使用していました (ユーザー root には pwd がありませんでした)。すべてが機能しました。次に、pwd を追加し、context.xml を適切に変更しました (現在のように)。
それ以来、私はこれらの例外を持っています:
Unexpected exception resolving reference
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
Failed to register in JMX: javax.naming.NamingException: Access denied for user 'root'@'localhost' (using password: NO)
lug 13, 2012 9:16:45 AM org.apache.naming.NamingContext lookup
Unexpected exception resolving reference
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
「奇妙な」ことは、アプリがdbへの書き込みに成功することです。
easyphp をアンインストールし、ポート 3306 に mysql をインストールして、pwd root を持つ root ユーザーを作成します。
私は同じ例外を取得します。