2010-07-21 4 views
1

J'ai récemment déployé une application web sur mon localhost pour les services Web amazon. Le problème que je rencontre est - bien que context.xml ait un nom d'utilisateur comme 'james', l'exception stacktrace mentionne autrement. Il tente de se connecter à la base de données avec le nom d'utilisateur 'root'. Est-ce dû à la mise en cache du fichier (context.xml)? Comment est-ce que je m'attaque à ça? J'ai également redémarré le serveur Web, mais cela ne fonctionne pas.Impossible de créer PoolableConnectionFactory (Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: YES))

Merci à l'avance.

EDIT:

Voici le contenu de context.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<Context antiResourceLocking="false" privileged="true" > 
    <Resource 
     name="jdbc/NetmarketDB" 
     auth="Container" 
     type="javax.sql.DataSource" 
     removeAbandoned="true" 
     removeAbandonedTimeout="30" 
     maxActive="100" 
     maxIdle="30" 
     maxWait="1000" 
     username="james" 
     password="xxxxxxxxxx" 
     driverClassName="com.mysql.jdbc.Driver" 
     url="jdbc:mysql://localhost:3306/ams"/> 
</Context> 

Vous pouvez voir qui se passe en cliquant sur Login ou Register sur la page: http://184.73.118.76/Links.jsp

Y at-il besoin que je faire pour apporter des modifications context.xml à effet? J'ai effectué deux actions:
1. touch web.xml dans WEB-INF
2. Redémarrez le serveur Tomcat.

Vous avez désespérément besoin d'aide ici.

Merci encore. James.

+0

Cela ressemble beaucoup à une erreur MySQL. Je suppose que vous devez configurer votre serveur mysql pour accepter la connexion root de localhost, ou mieux: configurez un utilisateur approprié! – thatsdisgusting

+0

Erreur MySQL? Je ne pense pas. Si c'était une erreur mysql, pourquoi essayerait-il de se connecter avec 'root' au lieu de 'james' comme mentionné dans context.xml? 'james' est un utilisateur approprié. Même si nous changeons le nom d'utilisateur en 'root', cela ne fonctionnera toujours pas car le fichier en cache (je crois fortement que c'est le motif) pourrait avoir une valeur pour le mot de passe, qui ne correspondrait pas au mot de passe racine de la base de données. – James

+0

pouvez-vous poster la configuration dbcp? –

Répondre

1

Vérifiez votre $ CATALINA_BASE/conf/[nom_fichier]/[nom_hôte]/[webapp] .xml, sur Tomcat par défaut cela doit être $ CATALINA_BASE/conf/Catalina/localhost/[webapp] .xml, tomcat créer une copie de votre context.xml et cela a été probablement pas mis à jour lorsque vous mettez à jour votre context.xml

Tomcat Context Container Reference

$ CATALINA_BASE/conf/[nom_moteur]/[nom d'hôte] /, dans un fichier individuel à /META-INF/context.xml dans les fichiers de l'application. Si l'application Web est empaquetée sous forme de fichier WAR, alors le fichier /META-INF/context.xml sera copié dans $ CATALINA_BASE/conf/[nom_de_véhicule]/[nom_hôte]/ et renommé en pour correspondre au chemin de contexte de l'application. Une fois ce fichier existant, il ne sera pas remplacé si un nouveau WAR avec un /META-INF/context.xml plus récent est placé dans l'appBase de l'hôte.

0

Assurez-vous qu'il n'y a pas un fichier nommé $ CATALINA_BASE/conf/Catalina/localhost/yourapp.xml ou qu'il ne contient pas une autre définition de source de données à la même base de données avec le nom d'utilisateur James '.

Questions connexes