2009-04-10 10 views
2

Je souhaite créer un composant de gestion de file d'attente géré par conteneur dans une application Java EE 5. La file d'attente est une table de base de données et toutes les 5 minutes, le moniteur recherche des enregistrements correspondant à certains critères de cette table. S'il existe des enregistrements correspondants, le moniteur commence une sorte de traitement dans un nouveau thread. Cette boucle de travail sleep-check-do doit continuer tant que l'application est démarrée et se produire indépendamment de toute session client.Comment implémenter un composant de surveillance de file d'attente générique dans Java EE?

Quels EJB, Servlet, etc ... devrais-je examiner pour mettre en place ce genre de chose? J'utilise Websphere 7, mais idéalement, la solution ne serait pas liée à un seul serveur d'application. En outre, JMS n'est pas une option. Si cela n'est pas facile à implémenter avec des composants gérés par conteneur Java EE, quelles sont les autres manières utiles?

Merci.

Répondre

2

EJB3 avec services de minuterie. Quelque chose comme ceci:

@Stateless 
class MyBeanImpl implements MyBean { 

    @Timeout 
    public void myTimedOutMethod(Timer timer){ 

    } 
} 
1

Ce n'est pas une bonne idée de démarrer vos propres threads dans un conteneur Java EE. Dans Websphere vous pouvez utiliser Java EE Timers. Si vous voulez une solution qui fonctionnera également dans Tomcat par exemple, vous pouvez utiliser Quartz.

Questions connexes