जावा एप्लिकेशन बनाने के लिए मैं Play 2.0.2 का उपयोग कर रहा हूं। कुछ दिनों के लिए मैं एक समस्या में भाग रहा हूँ। ~ 100 अनुरोध करने के बाद सर्वर इस अपवाद फेंकने के लिए शुरू होता है:प्ले 2.0 रिटर्न "एसक्यूएलएक्सप्शन: एक मुफ्त उपलब्ध कनेक्शन के लिए इंतजार कर रहा है।"
[[SQLException:। एक नि: शुल्क उपलब्ध कनेक्शन के लिए प्रतीक्षा की अवधि समाप्त]]
मैं DB.getConnection()
साथ Connection
का एक नया उदाहरण बना सकते हैं। मैं Connection
उदाहरण बंद नहीं करता क्योंकि प्रत्येक अनुरोध का केवल एक उदाहरण है और जहां तक मुझे पता है कि सक्रिय टीसीपी कनेक्शन बंद होने पर यह स्वचालित रूप से Connection
उदाहरण बंद कर देता है। मैंने db.default.connectionTimeout
मान 100 seconds
पर बढ़ाने की कोशिश की लेकिन यह समस्या को ठीक नहीं कर सका। फिर मैंने सक्रिय पोस्टग्रेस्क्ल कनेक्शन की जांच की और कोई सक्रिय कनेक्शन नहीं था। इसके अलावा मैंने Postgresql को पुनरारंभ किया लेकिन यह समस्या को ठीक नहीं कर सका।
अब इस समस्या का एकमात्र समाधान Play20 इंस्टेंस को मार रहा है और एक नया शुरू कर रहा है। आप उल्लेख है कि
! @6cg9il6ki - Internal server error, for request [GET [AN URL]] ->
play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[SQLException: Timed out waiting for a free available connection.]]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:134) [play_2.9.1.jar:2.0.2]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:115) [play_2.9.1.jar:2.0.2]
at akka.actor.Actor$class.apply(Actor.scala:318) [akka-actor.jar:2.0.2]
at play.core.ActionInvoker.apply(Invoker.scala:113) [play_2.9.1.jar:2.0.2]
at akka.actor.ActorCell.invoke(ActorCell.scala:626) [akka-actor.jar:2.0.2]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197) [akka-actor.jar:2.0.2]
Caused by: java.sql.SQLException: Timed out waiting for a free available connection.
at com.jolbox.bonecp.BoneCP.getConnection(BoneCP.java:503) ~[bonecp.jar:0.7.1.RELEASE]
at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:114) ~[bonecp.jar:0.7.1.RELEASE]
at play.api.db.DBApi$class.getConnection(DB.scala:64) ~[play_2.9.1.jar:2.0.2]
at play.api.db.BoneCPApi.getConnection(DB.scala:273) ~[play_2.9.1.jar:2.0.2]
at play.api.db.DB$$anonfun$getConnection$1.apply(DB.scala:129) ~[play_2.9.1.jar:2.0.2]
at play.api.db.DB$$anonfun$getConnection$1.apply(DB.scala:129) ~[play_2.9.1.jar:2.0.2]
AFAIK, आप उपयोग के बाद कनेक्शन (उदाहरण के लिए एक 'finally' ब्लॉक में) को बंद करने के लिए है –
http://stackoverflow.com/questions/16275102/sqlexception-timed-out-waiting-for-a -फ्री-उपलब्ध-कनेक्शन/28395713 # 28395713 –