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

Java EE Discussion :

Initialisation lors du déploiement [EJB3]


Sujet :

Java EE

  1. #1
    Membre éprouvé

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Points : 900
    Points
    900
    Par défaut Initialisation lors du déploiement
    Bonjour à tous

    J'ai développé une application à base d'EJBs Session Stateless. Cette application utilise un adaptateur snmp qui récupère des informations par snmp, et les relaie par RMI à mes EJB stateless.

    Actuellement, je suis obligé de lancer le serveur puis l'adaptateur séparément. Mais je voudrais que ce soit le serveur qui se charge de lancer l'adaptateur lors du déploiement de l'application. Seulement, je ne vois pas comment faire. J'ai essayé d'utiliser la méthode @PostConstruct de mon EJB, mais celle-ci n'est pas appelée au déploiement de l'EJB, mais seulement à sa première utilisation, et ne convient donc pas.


    Je précise que l'adaptateur se lance très simplement. Il suffit de placer un "new Adaptateur().start();" quelque part. Reste à savoir où, et c'est la question que je me pose. Ce dont j'aurai besoin c'est d'une annotation "@OnDeploy", ou d'un truc similaire. Pouvez vous m'aider?
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Membre VIP Avatar de kalysto
    Profil pro
    Développeur
    Inscrit en
    Mars 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mars 2003
    Messages : 442
    Points : 568
    Points
    568
    Par défaut
    Avec les EJB 3.1, tu peux faire un EJB @Singleton au lieu de @Stateless et ca aura exactement le comportement voulu.

    En restant en EJB 3 ouj inferieur, tu n'as pas de solution standard au niveau EJB seul.
    Par exemple, avec JOnAS, tu peux jouer avec la taille minimal des pool pour, au plus tot, creer un certain nombre d'instance (1 dans ton cas) qui seront démarrées tout de suite.
    Dans ce cas la, la solution est propriétaire...

    Si tu as aussi une application web, tu peux utiliser les ContextListener (qui eux vont pouvoir etre apellés a la fin du deploiement). Il suffit ensuite que ton listener appelle ton EJB pour avoir le comportement voulu. Et la ca reste standard (marche sur tous les serveurs d'applications)!

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Websphere possède une notion de startup bean, il s'agit d'ejb qui s'exécutent au démarrage d'une application et permettent de bloquer ce démarrage si besoin.

    A voir si le serveur que tu utilise ne possède pas une notion équivalente.

  4. #4
    Membre éprouvé

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Points : 900
    Points
    900
    Par défaut
    Ok, merci beaucoup de vos réponses. Pour l'instant je suis sous glassfish v2, mais je vais considérer le passage à glassfish v3 pour pouvoir bénéficier de l'utilisation des EJB 3.1
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/07/2007, 15h05
  2. [EJB] Exécuter méthode lors du déploiement ?
    Par Claythest dans le forum Java EE
    Réponses: 2
    Dernier message: 23/04/2007, 10h42
  3. [Plugin][Lomboz] web.xml reste vide lors du déploiement
    Par ollivier dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 19/01/2006, 14h20
  4. Réponses: 1
    Dernier message: 13/07/2005, 21h37

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