2013-06-07 3 views
2

J'ai un scénario simple où, en réponse à une action de l'utilisateur:Java EE (printemps) multithreading pour diviser le travail

JSP ===> Controller ===> Service ===> DAO

essentiellement OAC l'exécution d'un certain nombre de requêtes disparates. Existe-t-il un moyen pour le service d'appeler simultanément plusieurs DAO ou méthodes DAO, chacun effectue sa requête complexe et le service agrège-t-il le résultat de chaque DAO?

Peut utiliser JMS, mais comment retourner les résultats au service d'origine? Il en va de même pour spring-batch.

Il semble que ces mécanismes permettent d'effectuer un travail qui n'a pas besoin d'être «renvoyé» à une couche supérieure.

Tous les pointeurs seront grandement appréciés.

Répondre

0

vérifiez l'annotation @Async combinée avec un retour de Future.

http://static.springsource.org/spring/docs/3.0.x/reference/scheduling.html

vous aurez toujours besoin d'attendre et de recueillir tout le résultat avant de le retourner à la couche supérieure.

si ce n'est pas assez bon, vous voudrez peut-être regarder à websockets pousser ou longpolling dans le niveau Web, mais qui rend l'application plus complexe