2017-08-31 40 views
0

Nous sommes confrontés à des problèmes de lenteur d'application fréquemment. Quand on recherche les journaux, on pouvait voir que:Base de données ResourceException

java.sql.SQLException: javax.resource.ResourceException 
IJ000453: Unable to get managed connection for java:jboss/datasources 

Notre taille du pool de connexion - 20
Comment résoudre ce problème?

Merci d'avance.

+0

Deux raisons possibles: 1) dans votre code que vous ne retournez pas les connexions correctement au pool 2) vous avez tellement de demandes simultanées que la piscine est simplement trop petite –

Répondre

0

Vérifiez la fuite de connexion dans votre code. Et aussi dans le code trouver si une connexion db vous n'avez pas fermé, si elle est ouverte.

0

Les options sont:

  • Vérifiez si des ensembles de résultats/états/connexions sont fermées (N'attendez pas les fermer par JBoss)
    • Pour vérifier cela, suivez les suggestions de Jesper/Wolf-Dieter Fink
  • Tune votre piscine de fil (s) si vous utilisez
  • LOGguer le nombre de connexions ouvertes à l'aide d'un fichier de chauve-souris quand vous obtenez le EXCEPTIONNELLE s cela pourrait donner une idée approximative
  • Augmenter le blocage-timeout-millis (Par défaut 30s; ce n'est pas la solution idéale)
  • Augmenter le nombre de connexions si et seulement si nécessaire

Conformément à la discussion https://developer.jboss.org/thread/223747