J'ai une configuration d'instance tomcat mais la connexion à la base de données que j'ai configurée dans context.xml continue de mourir après des périodes d'inactivité.Java + Tomcat, Connexion de base de données Mourir?
Quand je vérifie les journaux que je reçois l'erreur suivante:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Le dernier paquet reçu avec succès depuis le serveur was68051 secondes il y a . Le dernier paquet envoyé avec succès au serveur était 68051 secondes auparavant, ce qui est plus long que la valeur configurée par le serveur de 'wait_timeout'. Vous devez envisager d'expirer et/ou de tester la validité de la connexion avant de l'utiliser dans votre application, en augmentant les valeurs configurées par le serveur pour les délais d'attente client ou en utilisant la propriété de connexion Connector/J 'autoReconnect = true' pour éviter ce problème.
Voici la configuration context.xml:
<Resource name="dataSourceName"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="username"
password="********"
removeAbandoned = "true"
logAbandoned = "true"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/databasename?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8" />
J'utilise autoreconnect = ture comme l'erreur dit de faire, mais la connexion cesse de flancher. Je n'ai jamais vu cela arriver avant.
J'ai également vérifié que toutes les connexions de base de données sont fermées correctement.
Nice. J'ai mis les paramètres dans context.xml, et je vais le laisser reposer pendant 24 heures. Si cela ne fonctionne pas, je n'accepterai pas la réponse. Mais ça a l'air prometteur! Merci! –