6
votes

Java Ee 5 - Comment implémenter un appel de méthode asynchrone sans JMS

Nous avons une ancienne application qui fonctionne sur JBoss EAP 5.1 et expose un service Web qui invoque une méthode EJB à long terme, nous souhaitons donc intégrer une simple gestion ASYNC de cet appel de méthode, juste quelque chose comme ça:
Lorsqu'un client invoque la méthode du point de terminaison, le serveur renvoie immédiatement une UUID, puis invoque la méthode logique commerciale dans un thread séparé.
Quelle est la meilleure façon de mettre en œuvre cette sans utiliser JMS ?


0 commentaires

3 Réponses :



1
votes

Je suggérerais d'utiliser un bean piloté par message (MDB) et d'utiliser le WebService en tant que producteur qui envoie le message à la MDB. La MDB invoque ensuite la méthode de haricot coûteuse dans sa méthode onMessage. Ceci est EJB3.0 conforme et possible dans JBoss 5.1

Regarde ici: http://docs.oracle.com /javae/5/tutorial/doc/bnbpk.html ou pour la spécification complète: http://download.oracle.com/otndocs/ JCP / EJB-3_0-FR-EVAL-OTH-JSPEC /


0 commentaires

1
votes

Vous pouvez utiliser la fonction ExecuTertorservice de Java 5 qui fournira une implémentation de type de piscine de thread. Vous pouvez créer un objet runnable et le soumettre à la méthode de la piscine de thread.business peut être appelé par la méthode d'exécution de l'objet exécutable.


0 commentaires