Heim > Datenbank > MySQL-Tutorial > So lösen Sie den durch c3p0 verursachten Deadlock

So lösen Sie den durch c3p0 verursachten Deadlock

一个新手
Freigeben: 2017-09-08 10:54:09
Original
2175 Leute haben es durchsucht

Der Code wurde lokal getestet und war korrekt, also habe ich ihn zum Testen auf den externen Server gelegt, und ein Fehler wie dieser ist aufgetreten

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!
Nach dem Login kopieren

Ich war verwirrt, als ich es sah Was soll ich tun? Warum ist es zu einer solchen Situation gekommen?

Meine Antwort ist:

Weil die Anzahl der Verbindungen zum Die Datenbank ist begrenzt. Jedes Mal, wenn die Anwendung C3p0 startet, wird die Datenbankverbindung belegt, um den C3p0-Verbindungspool zu füllen. Wenn die Datenbankressourcen belegt sind, wird ein Deadlock gemeldet, da die gemeinsam genutzten Ressourcen nicht abgerufen werden können.

Ändern Sie die maximale Anzahl der Verbindungen und die Anzahl der Erstverbindungen in der entsprechenden Konfigurationsdatei:

Vor der Änderung:

<property name="maxPoolSize" value="100" />  
<property name="initialPoolSize" value="2" />
Nach dem Login kopieren

Nach der Änderung:

<property name="maxPoolSize" value="1" />  
<property name="initialPoolSize" value="1" />
Nach dem Login kopieren

Erneut bereitstellen und ausführen, ok!

Das obige ist der detaillierte Inhalt vonSo lösen Sie den durch c3p0 verursachten Deadlock. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage