J'ai une application web (java et MySQL) qui fonctionne très bien sur ma configuration de développement, mais ne parvient pas à se connecter à la base de données sur le serveur de production.Connexion nulle à partir de l'application Web. vers une base de données MySQL sur le serveur de production
Le fichier est context.xml:
<!-- MySQL -->
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="0"
driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/xxxxxxxx?characterEncoding=UTF-8"
connectionName="yyyyyyy" connectionPassword="zzzzzzz" userTable="users"
userNameCol="user_name" userCredCol="user_pass" userRoleTable="user_roles"
roleNameCol="role_name" />
<!-- Database Pool -->
<Resource name="jdbc/DB" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
maxActive="25" maxIdle="5" maxWait="30000" removeAbandoned="true"
removeAbandonedTimeout="60" logAbandoned="true" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/xxxxxxx?autoReconnect=true&zeroDateTimeBehavior=convertToNull"
username="yyyyyyy" password="zzzzzzz" />
Le code .java qui obtient une connexion est:
public Connection getConnection(){
Connection conn = null;
try {
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
javax.sql.DataSource ds = (javax.sql.DataSource) envContext.lookup("jdbc/DB");
conn = ds.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
Il existe des données dans la base de données , l'utilisateur et le mot de passe existent et sont ce qu'ils disent qu'ils sont dans le contexte fi le, mais la connexion (à partir du code java) revient à zéro. J'ai essayé de regarder les fichiers journaux, mais ceux que j'ai vus ne contiennent aucun élément généré par cette application.
Notez que je ne suis pas l'administrateur du serveur de production, donc je dois demander au sysadmin des fichiers ou des données. Il est une personne utile, mais dire simplement «regarder les journaux» (par exemple) ne va pas faire autant de bien que quelque chose de plus spécifique.
Merci pour toute aide, Miriam
Notre administrateur système a suggéré d'essayer org.apache.commons.dbcp.BasicDataSourceFactory au lieu de org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory. Je l'ai essayé et j'ai reçu le même message d'erreur. Quelqu'un ici a des idées? – user725694