Comment un EJB paralléliser une longue, l'UC?

L'application dispose d'un CPU intensive long processus qui se déroule actuellement sur un serveur (un EJB méthode) en série lorsque le client le demande.

C'est théoriquement possible (d'un point de vue conceptuel) pour diviser le processus en N morceaux et de les exécuter en parallèle, aussi longtemps que la sortie de tous les emplois parallèles peuvent être recueillis et réunis avant de l'envoyer au client qui a initié le processus. Je voudrais utiliser cette parallélisation pour optimiser les performances.

Comment puis-je mettre en œuvre cette mise en parallèle avec les Ejb? Je sais que nous ne devrions pas créer des threads dans un EJB de la méthode. Au lieu de cela, nous devrions publier des messages (un par poste de travail) pour être consommés par les message driven beans (Bmd). Mais alors il ne serait pas un appel synchrone plus. Et d'être synchrone semble être une exigence dans ce cas car j'ai besoin de recueillir la sortie de tous les emplois avant de l'envoyer au client.

Est-il une solution pour cela?

OriginalL'auteur b.roth | 2010-01-05