2016-05-06 3 views
1

Je construis une application Web GWT standart et j'utilise également une base de données MySQL. Chaque fois que je recompile mon application, ma base de données est abandonnée et recommence. Je sais que je peux l'empêcher de laisser tomber la table mais je veux aussi sauvegarder ma base de données avant chaque recompilation. Mes questions sont: 1. où dois-je mettre cette méthode et comment l'utiliser? 2. Quelle est la meilleure option pour sauvegarder cette base de données?Comment faire des actions avant que l'application gwt redémarre/se ferme?

merci pour l'aide

+0

Où placez-vous la méthode de laisser tomber la base de données? – dydigging

+0

non ... La base de données drop est faite avec mysql ... je demande quand je lance un gwt sur localhost ... voir que tout fonctionne et que de couper l'application pour continuer à coder dedans. Donc, je veux faire quelques actions avant la fermeture de l'application comment faire cela ... –

Répondre

0

Si vous souhaitez effectuer une action avant l'application ferme, il suffit d'ajouter un gestionnaire d'événements comme celui-ci

Window.addWindowClosingHandler(new Window.ClosingHandler(){ 
        @Override 
        public void onWindowClosing(Window.ClosingEvent event) {  
         /*do some actions before app closes*/ 
        } 
       }); 
0

Vous pouvez utiliser ServletContextListener. Ensuite, vous pouvez écouter contextInitialized et contextDestroyed événements qui sont (en bref)-app-start web et web-app-stop:

public class MyContextListener implements ServletContextListener { 

    @Override 
    public void contextInitialized(ServletContextEvent event) { 
     // app has started 
    } 

    @Override 
    public void contextDestroyed(ServletContextEvent event) { 
     // app has stopped 
    } 
} 

Vous devez également mettre dans votre web.xml (Replace avec le nom du package réel qui doit être sur côté serveur):

<listener> 
    <listener-class>com.adam.test.server.MyContextListener</listener-class> 
</listener> 
+0

merci, je vais essayer ça! Je vais vous dire comment ça se passe :) –