2011-05-04 4 views
0

pour mon application EE, je dois prendre en compte les timertasks en cluster dans JBoss 6 Environment. Les tâches doivent être conservées dans la base de données. Lors de l'initialisation de l'application, les tâches doivent être créées et planifiées à partir de ces entités persistantes.Timertasks utilisant des expressions cron EJB3/JBoss 6

Par exemple, j'ai une entité comme celle-ci:

class MyTask { 
    private Long id; 
    private String cronExpression; 
    private String name; 
} 

Je peux créer de nouveaux emplois et CronTriggers en utilisant Quartz et à l'aide de sources de données, je peux les laisser sur les instances synchronisés cluster. Mais, quelle est la meilleure stratégie dans JBoss Environment utilisant les EJB?

En utilisant les fonctionnalités Java EE sous "http://download.oracle.com/javaee/6/tutorial/doc/bnboy.html", je pourrais utiliser l'annotation @Schedule avec des expressions cron. Mais mon travail doit être créé dynamiquement à partir des objets d'entité lors de l'exécution. Comment devrait mon haricot?

Répondre

1

Utilisez le TimerService directement pour créer un minuteur par programmation plutôt que d'utiliser @Schedule pour en créer automatiquement un.

+0

merci pour votre réponse. quelle stratégie puis-je utiliser sur l'environnement JBoss pour mettre en cluster mon service de minuteur sur l'ensemble de la batterie de serveurs? –

+0

La spécification EJB nécessite que les temporisateurs ne se déclenchent qu'une seule fois dans un environnement en cluster, mais je ne connais pas les spécificités de JBoss. (Désolé, je n'ai pas remarqué que c'était une question spécifique à JBoss.) –

Questions connexes