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

Glassfish et Payara Java Discussion :

Traitement juste avant fermeture de GlassFish


Sujet :

Glassfish et Payara Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut Traitement juste avant fermeture de GlassFish
    salut a tous,
    je pense que tout est dans le titre, comment est ce que je pourrai effectué un traitement juste avant la fermeture de glassfish un peux a la manière de PreDestroy pour les ejb, bref un bout de code a executer quand la fermeture de glassfish est enclenché.

    et merci bien les gars

  2. #2
    Membre Expert
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503

  3. #3
    Membre averti
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    merci a toi alexismp voila, j'ai écrit cette classe la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    package config;
     
    import com.sun.appserv.server.ServerLifecycleException;
    import com.sun.appserv.server.LifecycleEvent;
    import com.sun.appserv.server.LifecycleListener;
     
    public class ServerLifeCycle implements LifecycleListener {
     
        @Override
       public void handleEvent(LifecycleEvent event) throws ServerLifecycleException {
     
     
            if (LifecycleEvent.INIT_EVENT == event.getEventType()) {
            System.out.println("-----------------LifecycleListener: INIT_EVENT");
     
            return;
            }
     
            if (LifecycleEvent.STARTUP_EVENT == event.getEventType()) {
            System.out.println("-------------------LifecycleListener: START_EVENT");
     
            return;
            }
            if (LifecycleEvent.READY_EVENT == event.getEventType()) {
            System.out.println("------------------LifecycleListener: READY_EVENT");
     
            return;
            }
     
            if (LifecycleEvent.SHUTDOWN_EVENT == event.getEventType()) {
            System.out.println("---------------------LifecycleListener: SHUTDOWN_EVENT");
     
            return;
            } if (LifecycleEvent.TERMINATION_EVENT == event.getEventType()) {
            System.out.println("--------------LifecycleListener: TERMINATION_EVENT");
     
            return;
            }
            }
    }
    et dans la console d'administration de glassfish j'ai creer un module life cycle mais j'ai un probleme avec le path de la classe, je l'ai mis comme c'est expliquer dans le lien que tu m'as donné dans D:\Program Files\glassfish-3.0.1\glassfish\domains\domain1\lib\classes\

    mais maintenant glassfish refuse de démarré et il me lance cette exception au démarrage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    ATTENTION: Exception while starting bundle com.sun.enterprise.osgi-adapter [14]
    org.osgi.framework.BundleException: Activator start error in bundle com.sun.enterprise.osgi-adapter [14].
            at org.apache.felix.framework.Felix.activateBundle(Felix.java:1751)
            at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
            at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)
            at org.jvnet.hk2.osgimain.Main.start(Main.java:140)
            at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)
            at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
            at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
            at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077)
            at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
            at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.NoClassDefFoundError: ServerLifeCycle (wrong name: config/ServerLifeCycle)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
            at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:247)
            at com.sun.enterprise.v3.server.ServerLifecycleModule.loadServerLifecycle(ServerLifecycleModule.java:157)
            at com.sun.enterprise.v3.server.LifecycleModuleService.onInitialization(LifecycleModuleService.java:173)
            at com.sun.enterprise.v3.server.LifecycleModuleService.postConstruct(LifecycleModuleService.java:90)
            at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
            at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)
            at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
            at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
            at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
            at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
            at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:236)
            at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:128)
            at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:457)
            at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:401)
            at org.jvnet.hk2.osgiadapter.HK2Main.start(HK2Main.java:125)
            at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)
            at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
            ... 9 more

  4. #4
    Membre Expert
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Par défaut
    j'ai tendance à préférer ne pas mettre des JAR dans le classpath de GlassFish.
    Peux-tu essayer en utilisant un classpath qui pointe vers le JAR qui contient ta classe ServerLifeCycle?

  5. #5
    Membre averti
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    a ben par ce qu'il faut mettre la classe dans un jar, je croyais qu'il fallait juste mette le .class
    je vais essayer avec un jar et je vous informe du résultat

  6. #6
    Membre averti
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    c'est bon problème résolu
    récapitulation pour les future visiteurs qui auront ce problème car j'ai remarqué que c'est un problème qui manque quelque détail.

    j'ai juste mi le jar contenant la classe que j'ai déjà posté dans le dossier D:\Program Files\glassfish-3.0.1\glassfish\domains\domain1\lib
    puis il faut aussi créer un module lifecycle dans l'interface d'admin de glassfish ou bien par command, vous trouverez tous les détail ici

    si vous mettez votre jar dans le dossier déjà cité vous n'avez pas besoin de remplir le champ class path dans l'interface d’admin de galssfish, j'ai juste rempli les champ nom du module de lifecyle et le nom de la classe, il faut qu'il contient le chemin a travers les Package vers la classe c'est a dire package.classe et puis vous redémarrez glassfish.

    concernant la classe je suppose que tout est clair, il faut juste mettre le code que vous voulez exécuter pour chaque évènement dans le IF correspondant la ou j'ai mis les System.out.println, il faut aussi ajouter la librairie D:\Program Files\glassfish-3.0.1\glassfish\modules\glassfish-api.jar

    voila j’espère que tout est claire et merci pour ton aide alexismp

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2006, 00h34
  2. traitement javascript avant le <logic:forward>
    Par questionneuse dans le forum Struts 1
    Réponses: 13
    Dernier message: 02/06/2006, 10h41
  3. Réponses: 3
    Dernier message: 02/05/2006, 14h01
  4. Renommer un fichier juste avant son téléchargement
    Par laulaurent dans le forum Langage
    Réponses: 2
    Dernier message: 06/01/2006, 14h55
  5. [MySQL] requete avant fermeture
    Par ldcarpathes dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 06/12/2005, 15h20

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