में वापस कर मैं अपने नियंत्रक जो @Async
कार्यवसंत MVC में वापसी @Async विधि परिणाम और अजाक्स ग्राहक
@Async
public Future<String> getResultFromServer(){
String result = ......
return new AsyncResult<String>(result);
}
विधि निष्पादन समय 1o मिनट तक है कार्यान्वित अंदर कुछ विधि है। मुझे केवल क्लाइंट पक्ष में परिणाम लौटने की ज़रूरत है जो AJAX/JQuery का उपयोग करके कनेक्ट किया जाएगा।
मैं नहीं चाहता कि ग्राहक प्रत्येक सर्वर को मेरे सर्वर से अनुरोध करे कि @Async
विधि निष्पादित या नहीं। मैं सिर्फ अपना कनेक्शन खोलना चाहता हूं और फिर सर्वर पर "धक्का" परिणाम देना चाहता हूं।
@RequestMapping(value="/async.do", method=RequestMethod.POST)
public void getResult(HttpServletResponse res){
String result = null;
PrintWriter out = res.getWriter();
Future<String> future = getResultFromServer();
try {
if (future.isDone())
result = future.get();
out.println(result);
out.close();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
मैं समझता हूं कि यह कॉमिट मॉडल के बहुत करीब है, लेकिन मैं आम तौर पर धूमकेतु से परिचित नहीं हूं।
मेरा सवाल यह है कि मैं जावास्क्रिप्ट/JQuery का उपयोग कर क्लाइंट साइड पर कनेक्शन कैसे खोल सकता हूं?
और क्या मेरे @RequestMapping(value="/async.do", method=RequestMethod.POST)
क्लाइंट को विधि पुश परिणाम मिलेगा?
आपने अंततः इस भाग 2 को कैसे हल किया? – happybuddha