/ / Traitement par lots avec Java EE / EJB3 - java-ee, batch-file

Traitement par lots avec Java EE / EJB3 - java-ee, fichier batch

J'ai une exigence comme ci-dessous.

Il existe déjà un serveur Websphere et un module MDB qui conservent les messages dans une table de base de données. Chaque ligne sera marquée d'un statut INSERTED dans une colonne.

Nous devons maintenant développer une autre application ou une application de traitement par lots pour relever ces messages, traiter chaque ligne de cette base de données et marquer le statut Terminé une fois le traitement terminé.

Quelle est la meilleure façon de le faire? Nous avons entendu dire que les beans EJB 3.1 Singleton Startup seraient utiles pour lancer l'application batch?

Réponses:

2 pour la réponse № 1

Une option serait de créer une deuxième file d'attente JMS pour traiter les messages. Dans le cadre de la transaction d'écriture du message dans la base de données, ajoutez l'ID du message à la nouvelle file d'attente.

Votre demande de traitement pourrait alors être faite commeun MDB attaché à cette nouvelle file d'attente. Cela sépare la réception des messages de leur traitement afin que vous puissiez gérer la taille de votre pool MDB en conséquence. Cela signifie également qu'il n'est pas nécessaire d'interroger la base de données pour rechercher de nouveaux messages.