IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres Java Discussion :

[BES] Exécution périodique de tâches


Sujet :

Autres Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 16
    Points : 12
    Points
    12
    Par défaut [BES] Exécution périodique de tâches
    Bonjour,

    Mon projet J2EE tourne sous BES 5.2.1 (J2EE 1.3). Un certain nombre de tâches (maintenance BD, réplication...) doivent être exécutées périodiquement, par exemple tous les soirs à une certaine heure. Après une recherche rapide, j'ai eu la désagréable surprise de constater qu'aucune API J2EE ou Borland ne permettait de faire du scheduling... Sur un projet similaire sous Weblogic 7.0, un collègue a utilisé des messages JMS datés (délivrés à une certaine date/heure): j'ai l'impression que l'implémentation JMS sous BES n'offre pas ce type de service. L'utilisation d'un COTS (Flux ou autre) est une autre alternative, que je préfèrerais éviter si possible.

    J'imagine que c'est un problème classique et que des solutions ont déjà été trouvées. Si vous les connaissez... Merci !

    Baptiste

  2. #2
    Membre éprouvé
    Avatar de request
    Inscrit en
    Novembre 2002
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 328
    Points : 1 248
    Points
    1 248
    Par défaut Re: [BES] Exécution périodique de tâches
    Citation Envoyé par Bobby McGee
    Bonjour,

    Mon projet J2EE tourne sous BES 5.2.1 (J2EE 1.3). Un certain nombre de tâches (maintenance BD, réplication...) doivent être exécutées périodiquement, par exemple tous les soirs à une certaine heure. Après une recherche rapide, j'ai eu la désagréable surprise de constater qu'aucune API J2EE ou Borland ne permettait de faire du scheduling... Sur un projet similaire sous Weblogic 7.0, un collègue a utilisé des messages JMS datés (délivrés à une certaine date/heure): j'ai l'impression que l'implémentation JMS sous BES n'offre pas ce type de service. L'utilisation d'un COTS (Flux ou autre) est une autre alternative, que je préfèrerais éviter si possible.

    J'imagine que c'est un problème classique et que des solutions ont déjà été trouvées. Si vous les connaissez... Merci !

    Baptiste
    Bonjour,

    Dans la prochaine Spec, il y aura les Timer.

    Sinon, BES intègre le moteur JMS Sonic, qui implèmente complètement JMS, je ne me rappelle pas si JMS supporte les messages à une date prècide, si ce n'est pas le cas, tu peux passer par les API Sonic qui le permettent.

    Il y a moyen de rajouter des service dans une partition BES (comme Tomcat ...), mais c'est du propre Borland.

    Sinon, la solution que nous avons choisi, un programme client est lancé par le CRON Unix ou le gestionnaire de tâche Windows, il déclanche le traitment dans le caontainer.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Une nouvelle fois merci pour ta réponse et ta rapidité (à peine tapé, déjà répondu !).

    Juste une petite précision: le programme lancé périodiquement est un client Java qui accède aux EJB et les tâches sont codées dans ces EJB, c'est ça ?

    Baptiste

  4. #4
    Membre éprouvé
    Avatar de request
    Inscrit en
    Novembre 2002
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 328
    Points : 1 248
    Points
    1 248
    Par défaut
    Citation Envoyé par Bobby McGee
    Une nouvelle fois merci pour ta réponse et ta rapidité (à peine tapé, déjà répondu !).

    Juste une petite précision: le programme lancé périodiquement est un client Java qui accède aux EJB et les tâches sont codées dans ces EJB, c'est ça ?

    Baptiste
    Oui, c'est bien cela.

    Pour information, j'ai vérifié pour JMS et Sonic, il n'y a rien dans JMS pour le faire et Sonic n'offre pas de spécifique pour cette partie.

  5. #5
    Membre confirmé
    Avatar de bmoussaud
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 218
    Points : 555
    Points
    555
    Par défaut
    [Solution spécifique BES]
    J'ai implémenté une solution pour l'un de mes projet avec BES.
    Pour cela j'ai implémenté un service au niveau de BES qui requetait un EJB SBSL afin de vérifier s'il y avait des taches à faire, fréquence 1mn.

    Le moyen de d'implémenter ce service est plus ou moins documenté dans BES. Mais le principe est le meme que pour le container ou autre à l'interieur de la partition. Donc il faut ajouter ton service dans partition.config (startorder,...), lui faire implémenter une interface avec 2 méthodes du genre onstart(), onstop(). Dans onstart() du lance un thread demon qui va faire l'appel à l'ejb ou tout autre service.
    Et voili !
    Par contre tu ne verras pas ton services dans la console. Pour le voir il faut encore ajouter une classe de controle mais la c'est pas documenté du tout et donc j'ai pas fait.


    Bon courage...en attendant les timer beans
    Benoit Moussaud - XebiaLabs - Automatisation des déploiements. Screencast & Demo

  6. #6
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    Sinon il y a un projet tres interressant qui s'appelle Quartz, il est maintenant hébergé chez OpenSynphony. Jette un oeil on sait jamais ....


    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 26/08/2008, 09h30
  2. Exécution périodique d'un script php
    Par tetepro dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/04/2008, 15h54
  3. Exécution d'une tâche au démarrage
    Par 84mickael dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 30/03/2008, 00h50
  4. Exécution périodique de traitements et requêtes
    Par devboy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 13/07/2007, 09h42
  5. fonction php à exécuter périodiquement
    Par sneb5757 dans le forum Langage
    Réponses: 5
    Dernier message: 10/05/2007, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo