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

Applets Java Discussion :

Commande pour lancer un applet avec cron


Sujet :

Applets Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut Commande pour lancer un applet avec cron
    Bonjour,

    J'ai une demande qui va en déconcerter plus d'un. J'ai un applet sur mon site et il faudrait que je le lance avec un CRON configurer sur le serveur.
    Oui je sais c'est bizarre. Ca serait un peu long de vous expliquer pourquoi mais j'ai vraiment pas d'autre choix. En gros j'ai un applet qui tourne mais il faut de temps en temps qu'il fasse le même boulot sans qu'on le lance manuellement.

    Pourriez vous me dire quelle commande utiliser ? Mon applet a plusieurs paramètres

    merci

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Il est vrai que ça surprend un peu...

    Je dirais en passant par AppletViewer avec une page html qui référence ton applet et ses paramètres...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Je ne connais que vaguement le développement web, mais on doit pouvoir faire un thread jquery (ou un jquery-timer) qui invoque une méthode de l'applet, non ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Non seulement c'est bizarre, mais je me demande même si c'est vraiment une bonne idée... Beaucoup de serveurs n'ont pas d'affichage graphique, je me demande comment va se comporter swing dans un environnement headless...

    sinon il faut je pense, développer un script (bash/batch en fonction de l'os du serveur) qui:

    1- lance l'url de l'applet dans un browser
    2- attend un temps indéterminé (le temps que l'applet finisse son travail)
    3- ferme le processus du navigateur

    que tu pourras ensuite croner à ta guise

    mais encore une fois, c'est pas vraiment une très bonne idée... tu peux peut-être résumer les raisons qui font que tu doives passer par ça?

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  5. #5
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    Je ne connais que vaguement le développement web, mais on doit pouvoir faire un thread jquery (ou un jquery-timer) qui invoque une méthode de l'applet, non ?
    Le problème c'est que ce n'est pas cronable: si tu fermes le browser, plus rien ne fonctionne. Si n browser tournent en même temps, le boulot est fait n fois.
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Pill_S Voir le message
    Le problème c'est que ce n'est pas cronable: si tu fermes le browser, plus rien ne fonctionne. Si n browser tournent en même temps, le boulot est fait n fois.
    J'ai supposé que, s'il s'agissait d'une applet, donc un composant client, il s'agissait d'avoir un cron par utilisateur. Si c'est un cron serveur, pourquoi utiliser une applet ? Enfin, on peut utiliser l'applet comme programme java, et en particulier, sans afficher d'interface graphique (ce qui a un intérêt limité sur un serveur). Mais dans ce cas, le fait que cela une applet ou un programme java classique ne change plus rien en ce qui concerne le fonctionnement en cron.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par Ceubex Voir le message
    il faudrait que je le lance avec un CRON configurer sur le serveur.


    Si c'est un cron serveur, pourquoi utiliser une applet ?
    oui, c'est ce que je me demande aussi...


    Enfin, on peut utiliser l'applet comme programme java, et en particulier, sans afficher d'interface graphique (ce qui a un intérêt limité sur un serveur).
    justement, c'est quelque chose que je n'ai jamais fait, et je ne sais pas comment swing va se comporter dans cette situation. Est-ce que tous les events sont propagés de la même manière, etc?
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    A priori, on obtiendra une HeadlessException à l'instanciation de l'applet sur un serveur headless. Il faut voir si les méthodes qui font le traitement sont directement dans la classe qui étend JApplet ou pas : mais ça devrait être simple de les extraire à priori, à moins qu'elle ne dépendent directement d'éléments de JApplet. Après, on doit pouvoir appeler des méthodes qui font un traitement schedulable, sans GUI. Bien sûr, si des traitements AWT/SWING interviennent (comme l'affichage d'une barre de progression par exemple), on obtiendra également des exceptions : il faut isoler ce genre de fonctions. Ça reste tordu de faire ça dans une Applet de tout manière, à mon avis. Je pense qu'il faut vraiment extraire le code de traitement à "croner" et l'isoler de toutes dépendances à la GUI, pour pouvoir le lancer sans GUI, et que l'applet l'appelle si c'est nécessaire d'avoir une version graphique. Applet ou pas, d'ailleurs.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    ...
    Ça reste tordu de faire ça dans une Applet de tout manière, à mon avis. Je pense qu'il faut vraiment extraire le code de traitement à "croner" et l'isoler de toutes dépendances à la GUI, pour pouvoir le lancer sans GUI, et que l'applet l'appelle si c'est nécessaire d'avoir une version graphique. Applet ou pas, d'ailleurs.
    Ceubex dit dans sa question "Ca serait un peu long de vous expliquer pourquoi mais j'ai vraiment pas d'autre choix", inutile donc de partir dans des solutions de réécriture... à priori...

    Maintenant, s'il pouvait expliquer ce qu'il compte utiliser de l'applet dans son traitement périodique, ça aiderait peut-être à proposer d'autres choses
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut
    Bonjour tout le monde,

    Bon je vais vous expliquer. Parce qu'effectivement c'est comme qui dirait bizarre

    En fait, c'est pour un module de ecommerce sur Prestashop. Le truc c'est que les utilisateurs veulent faire "j'installe le module et après ça marche" et qu'il y a un script pour communiquer avec l'interface web d'une banque qui doit tourner pendant une heure (c'est une espèce de crawler qui extrait les infos bancaires sur les commandes du magasin).

    Donc ce que j'ai fait c'est qu'il y a une partie "Lancer l'analyse", sur lequel clique l'utilisateur et qui fait son travaille en affichant un journal de ce qu'il fait dans une JtextArea.

    Maintenant j'ai aussi des utilisateurs qui veulent que l'analyse se lance toute seule en mettant en place un CRON (aussi simple que possible). Dans ce cas on se fiche de l'affichage graphique du script.

    Alors après je peux peut être modifier l'applet pour que si j'ai un argument CRON à 1, je n'affiche pas la TextArea, mais je voudrais déjà savoir si c'est possible, de lancer le même applet Java, d'une manière ou d'une autre.

  11. #11
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Et tu n'as pas de vm Java sur le serveur?

    Qu'est-ce qui t'empêche d'ajouter une classe "main" dans l'applet et de faire l'exécution de ton travail depuis là? Donc, tu ne changes rien à l'applet, tu rajoute une classe de ce genre dans le jar:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class RunBatchImport {
        public static void main(String[] args) {
            new MonServiceDeTraitement().run(args[0], args[1], ...);
        }
    }
    et tu fais un cron qui lance seulement java -cp .;<insert classpath here> -jar myjarfile RunBatchImport param1 param2?

    bien sûr, il faut déployer le(s) jar(s) sur le serveur mais ça ne devrait pas être un souci :-)

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut
    Oui en effet, ça fonctionnerait comme une application.
    Par contre je dois dire aux utilisateurs d'installer Java sur leur serveur (ce qui n'est surement pas le cas par défaut).
    Je pense que c'est ce qu'il y a de mieux

  13. #13
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    un p'tit dans ce cas?

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

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

Discussions similaires

  1. lancer une applet avec lwp
    Par mnem0 dans le forum Web
    Réponses: 0
    Dernier message: 31/01/2008, 05h40
  2. Probleme pour lancer un .sh avec cron
    Par Devether dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 06/09/2007, 10h48
  3. [DOM] Onmouseover pour lancer une fonction avec arguments
    Par Trock dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 01/06/2007, 13h31
  4. [VB6] Commande pour ouvrir un TXT avec Excel
    Par quaife dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 29/05/2006, 18h06
  5. Commande pour analyser un fichier avec lex et yacc
    Par gRaNdLeMuRieN dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 13/09/2005, 19h12

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