Maison  >  Article  >  base de données  >  Comment résoudre l'impasse causée par c3p0

Comment résoudre l'impasse causée par c3p0

一个新手
一个新手original
2017-09-08 10:54:092124parcourir

Le code a été testé localement et était correct, je l'ai donc mis sur le serveur externe pour le tester, et une erreur comme celle-ci s'est produite

com.mchange.v2.async.ThreadPoolAsynchronousRunner -466510
78 [Timer-18] WARN  com.mchange.v2.async.ThreadPoolAsynchronousRunner  - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1c17bd4 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!

J'étais confus quand j'ai vu ça, que dois-je faire ? Pourquoi une telle situation est-elle apparue ?

Ma réponse est :

Parce que le nombre de connexions au La base de données est limitée. Chaque fois que l'application démarre C3p0, elle occupera la connexion à la base de données pour remplir le pool de connexions C3p0. Lorsque les ressources de la base de données sont occupées, un blocage sera signalé car les ressources partagées ne peuvent pas être obtenues.

Modifier le nombre maximum de connexions et le nombre de connexions initiales dans le fichier de configuration correspondant :

Avant modification :

<property name="maxPoolSize" value="100" />  
<property name="initialPoolSize" value="2" />

Après modification :

<property name="maxPoolSize" value="1" />  
<property name="initialPoolSize" value="1" />

Redéployez et exécutez, ok !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Analyse AIO dans OracleArticle suivant:Analyse AIO dans Oracle