मैं अपने Grails अनुप्रयोग में Servlet 3.0 Asynchronous रेंडरिंग का उपयोग कर रहा हूँ। और मुझे निम्न त्रुटि मिल रही है।Grails में असीमित प्रोग्रामिंग
| Error 2014-04-29 11:10:24,125 [Actor Thread 28] ERROR gpars.LoggingPoolFactory - Async execution error: null
Message: null
Line | Method
->> 61 | doCall in org.grails.async.factory.gpars.GparsPromise$_onComplete_closure1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 62 | run in groovyx.gpars.dataflow.DataCallback$1
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 724 | run . . . in java.lang.Thread
कृपया इस समस्या को हल करने में मेरी मदद करें। जब तक दोनों वादे पूरा कर रहे हैं
p1.get()
p2.get()
यह अनुरोध को अवरुद्ध कर देगा:
यहाँ कोड
//Promise 1
Promise p1 = task {
println id+" p1 Task is Runing"
sleep(4000)
println id+" p1 Thread Woke Up"
return "p1Completed"
}
//Promise 2
Promise p2 = task {
println id+" p2 Task is Runing"
sleep(4000)
println id+" p2 Thread Woke Up"
return "p2Completed"
}
p1.onComplete { result ->
println id+" Promise p1 Completed returned "+result
}
p1.onError { Throwable err ->
println id+" p1 An error occured ${err.message}"
}
p2.onComplete { result ->
println id+" Promise p2 Completed returned "+result
}
p2.onError { Throwable err ->
println id+" p2 An error occured ${err.message}"
}
क्या आप असफल होने वाले कोड को पोस्ट कर सकते हैं? –
पूर्ण विधियों में वापसी मूल्य को परिभाषित करने का प्रयास करें (यानी आपके मामले में स्ट्रिंग परिणाम-> ... और देखें कि यह मदद करता है या नहीं। –
हाय रायन, मैंने आपके द्वारा उल्लिखित पूर्ण विधि में वापसी मूल्य परिभाषित किया है। लेकिन फिर भी समस्या बनी रहती है। त्रुटि आ रही है लेकिन लगातार नहीं। अगर मैं त्रुटि का सामना करूँगा तो मैं कुछ 20 या 30 बार चलाता हूं। क्या आप कृपया मदद कर सकते हैं। –