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

GWT et Vaadin Java Discussion :

Lancement méthode périodique sur serveur


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 68
    Par défaut Lancement méthode périodique sur serveur
    Bonjour,

    Ma question est toute simple mais reste assez ambigue dans ma tête...

    Si je lance mon application et qu'elle appelle un service sur le serveur qui exécute un timer avec une période, est ce que ce service sera toujours en exécution si j'arrête mon client?

    Merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Tout dépend du serveur et du service derrière.

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 68
    Par défaut
    Mon service fait un calcul et met à jour une base de données toutes les X secondes. Mon serveur est un Tomcat.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ce que je veux dire, c'est que le comportement dépendra du code qui est derrière ton service, on peux pas te répondre comme ça. Et la question de base toute bete
    "t'as essayé pour voir?"

  5. #5
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 68
    Par défaut
    Je n'ai malheureusement pas le matériel pour le moment pour séparer mon client de mon serveur.
    Du coup, je vais reformuler ma question autrement : est ce qu'il est possible de lancer une méthode côté serveur sans que la classe qui implement EntryPoint ne soit lancée?
    Ou en gros si je peux faire une appli GWT purement côté serveur.
    Je ne sais pas si je suis très clair

    Merci

  6. #6
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    Citation Envoyé par CcHhUu Voir le message
    est ce qu'il est possible de lancer une méthode côté serveur sans que la classe qui implement EntryPoint ne soit lancée?
    oui

  7. #7
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Citation Envoyé par CcHhUu Voir le message
    Je n'ai malheureusement pas le matériel pour le moment pour séparer mon client de mon serveur.
    Du coup, je vais reformuler ma question autrement : est ce qu'il est possible de lancer une méthode côté serveur sans que la classe qui implement EntryPoint ne soit lancée?
    Ou en gros si je peux faire une appli GWT purement côté serveur.

    Là, la question est différente.
    Moi, je pensai que ton client lançait un truc sur le serveur puis se barrait ...

    Comme je ne pourrai pas faire une réponse aussi concise que celle de mamelouk je te ferai remarquer qu'une appli GWT purement côté serveur, ça ne veut pas dire grand chose car côté serveur, c'est du Java classique !
    Le seul truc que GWT amène côté serveur, c'est sa servlet pour le RPC qui n'a que peu d'intérêt s'il n'y a pas de partie cliente qui l'appel.

  8. #8
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    comme dit tchize, tout dépend de ce que fait ton code ...

    Réponse avec suppositions :

    Appel RPC ou non, une servlet vas être appelée ... ( les servlets sont généralement partagées donc attention à la concurrence si tu utilises des variables d'instances)
    Si tu fais un traitement (code dans le corps de doGet, de doPost ou dans le corps de ta méthode RPC), il commence à l'arrivée de la requête et se termine à l'envoi de la réponse ...

    Maintenant, si dans ce code, tu lances un autre thread, sauf erreur de ma part, il continuera de "tourner" même après la réponse au client.
    Enfin, quand, je dis qu'il continue de tourner, il s'execute en "parallèle" jusqu'à sa fin "programmé".

    Autrement dit, si dans ton thread, tu fais un print i dans une boucle où i va de 1 à 10, parfois, i aura atteint 10 avant la réponse, parfois après mais dans les deux cas, il sera terminé une fois arrivé à 10.
    Si c'est une boucle infinie "brutale" while(true) ou moins brutale (soumis à une condition d'arrêt peu fréquente), le thread ne se terminera que lorsque tu auras fait un break;/return dans la boule infinie "brutale", un "je passe ma condition d'arrêt à true" dans le deuxième cas.

    Il pourra être également arrêter dans le cas d'un System.exit() ou de l'arrêt du Tomcat.

    Est-ce que ce thread sera arrêter à l'arrêt seul de l'application web (le tomcat continue de tourner) ? Je n'ai jamais fait le test. Si je devais dire une réponse, je dirai que non ? Comme les applications web peuvent avoir leur propres librairies, peut êtres ont t'elles leur groupe de thread ?

    Je laisse à ceux qui le savent le soin de partager leur lumières

  9. #9
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    Il me semble qu'il a besoin d'un bon vieux crontab qui appelle une de ses classes, mais comme on ne sait pas ce qu'il veut faire, difficile de répondre

Discussions similaires

  1. lancement de tomcat sur serveur
    Par touille dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 04/08/2008, 14h32
  2. Probléme de méthode webdav sur Serveur exchange
    Par djorfe dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 18/03/2008, 14h55
  3. Lancement fichier.jar sur serveur
    Par JohnNC dans le forum Langage
    Réponses: 2
    Dernier message: 12/03/2008, 14h35
  4. Réponses: 0
    Dernier message: 07/02/2008, 11h26
  5. [SQL] Lancer requetes SQL périodiquement sur serveur mysql (easyphp)
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/12/2007, 12h33

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