@Async
görevDönüş @Async yöntemi Spring MVC ile sonuçlanır ve Ajax istemcisine geri döner
@Async
public Future<String> getResultFromServer(){
String result = ......
return new AsyncResult<String>(result);
}
yürüten Denetleyicimin içinde bazı yöntemler var. Yöntem yürütme süresi 1o dakikaya kadar. Tek yapmam gereken sonuç AJAX/JQuery kullanılarak bağlanacak olan müşteri tarafına geri dönmek.
İstemcinin @Async
yönteminin yürütülüp yürütülmediğini her saniye sunucumdan istemesini istemiyorum. Sadece bağlantımı açık tutmak istiyorum ve sonra sadece "itme" sonucu Sunucu'ya.
@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();
}
}
Bu Comit modeline çok yakın olduğunu anlıyorum, ancak genel olarak kuyruklu yıldızı bilmiyorum.
Sorum şu: JavaScript/JQuery kullanarak bağlantıyı istemci tarafında nasıl açık tutabilirim?
ve @RequestMapping(value="/async.do", method=RequestMethod.POST)
metodu istemciye itme sonucu verecek mi?
En sonunda bu/bölüm 2'yi nasıl çözdünüz? – happybuddha