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

NetBeans Java Discussion :

Application externe non fonctionnel


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut Application externe non fonctionnel
    Bonjour

    J'ai un script shell avec les droits suivants : rwxrwxrwx
    Ce script shell envoi un email à l'utilsateur.
    Lorsque j'embarque sur le serveur unix où se trouve ce script et je le lance sur la ligne de commande, il marche bien (l'utilisateur recoit un email)

    Mais lorsque je lance ce script à partir d'une application java développée avec Netbeans et VWP, l'application s'exécute bien sur le serveur mais l'email n'est pas envoyé. Mais ca ne donne pas d'erreur. Visiblement tous marche bien.

    J'ai déployé le .war sur le serveur qui contient le serveur web tomcat.

    Je suis allé voir dans le répertoire du serveur qui contient mon war, et j'ai vu que l'utilisateur du war et "tomcat"

    C'est que l'application tourne bien sur le serveur, mais le courriel n'est pas envoyé et aucune erreur n'est affichée.

    Merci de votre aide.

  2. #2
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Il faut peut-être que tomcat sache par où envoyer le email.

    Par exemple avec le serveur PHP il faut indiquer dans sa config le nom d'un serveur SMTP.

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par Mister Nono
    Il faut peut-être que tomcat sache par où envoyer le email.

    Par exemple avec le serveur PHP il faut indiquer dans sa config le nom d'un serveur SMTP.

    A+
    Je ne comprends pas ce que tu veux dire exactement.

    Puisque mon fichier est rwxrwxrwx normalement n'importe quel autre utilisateur peut l'exécuter.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par Mister Nono
    Il faut peut-être que tomcat sache par où envoyer le email.

    Par exemple avec le serveur PHP il faut indiquer dans sa config le nom d'un serveur SMTP.

    A+
    J'ai embarqué sur le serveur avec le username "tomcat" et j'ai exécuté le script shell et ca a fonctionner. Donc Tomcat sait par où il doit envoyer le email.

    Qu'est ce que tu en penses ?

  5. #5
    Membre expérimenté

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Par défaut
    As-tu une erreur dans les log de ton application ou Tomcat?
    Comment appelle-tu ton script?
    Pourquoi ne pas directement envoyer ton mail en Java (voir JavaMail ou Commons Email

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par christopheJ
    As-tu une erreur dans les log de ton application ou Tomcat?
    Mon application est déployée dans un serveur. à quelle place je peux aller voir le log et/ou tomcat ?

    Il me semble qu'il faut dire à tomcat de reconnaitre l'exécution d'une application externe.


    Citation Envoyé par christopheJ
    Comment appelle-tu ton script?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String[] cmd = new String[2]; cmd[0] = "myScript.sh" ; cmd[1] = "argument1" ; Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(cmd);
    Citation Envoyé par christopheJ
    Pourquoi ne pas directement envoyer ton mail en Java (voir JavaMail ou Commons Email
    Parceque avec unix, envoyer un email c'est une ligne de code. et aussi ce script appelle un autre script qui d'autres job

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par Mister Nono
    Il faut peut-être que tomcat sache par où envoyer le email.

    Par exemple avec le serveur PHP il faut indiquer dans sa config le nom d'un serveur SMTP.

    A+
    à qulle place exactement tu indique le nom du serveur SMTP dans le serveur PHP

    J'essaye de faire la comparaison avec Tomcat.

  8. #8
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    ... là tu n'es plus dans le bon forum.

    Salut.

  9. #9
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut
    Citation Envoyé par diamonds
    à qulle place exactement tu indique le nom du serveur SMTP dans le serveur PHP

    J'essaye de faire la comparaison avec Tomcat.
    Ne perds pas ton temps à essayer de comparer Tomcat et PHP.
    C'est totalement différent. Il n'y a rien de commun entre les 2.

    Vincent

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par vbrabant
    Ne perds pas ton temps à essayer de comparer Tomcat et PHP.
    C'est totalement différent. Il n'y a rien de commun entre les 2.

    Vincent
    Est-ce que ça peut être la façon d'utiliser la commande d'exécution, ou bien c'est Tomcat qu'il faut configurer ?

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par diamonds
    Est-ce que ça peut être la façon d'utiliser la commande d'exécution, ou bien c'est Tomcat qu'il faut configurer ?
    Bon après des dizaines d'essais, j'ai fini par trouver la réponse.

    en fait, il y a au moins trois formes différentes qui fontionnent. les voici :
    Option 1 : dans ce cas on a besoin de /bin/sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String[] cmdarray = {"/bin/sh", "/usr/toto.sh", "argument1"};
    Process process = Runtime.getRuntime().exec(cmdarray);
    Option 2 : dans ce cas on a besoin de /bin/sh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    String[] cmd = new String[3];
    cmd[0] = "/bin/sh";
    cmd[1] = "/usr/toto.sh" ;
    cmd[2] = "/usr/argument1";
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(cmd);

    Option 3 : dans ce cas on n'a pas besoin de /bin/sh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec("/usr/toto.sh argument1");
    En terme de temps de réponse, c'est l'option 2 qui la plus vite.

    Mais il y a deux autres choses que je ne comprends pas :

    1) L'option 1 exécute deux fois le script alors que dans l'événement du bouton, le code est écrit juste une fois

    2) J'ai un autre bouton qui contient un code différent et qui n'a aucune relation avec l'exécution du script, mais lorsque je clique dessus, le script est exécuté parreil

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/02/2015, 11h44
  2. [Flex3] linkbutton non fonctionnel après EXPORT de l'application
    Par DBA_OCP dans le forum Flex
    Réponses: 5
    Dernier message: 20/12/2010, 15h52
  3. Appel application externe
    Par gerald2545 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 28/01/2005, 18h54
  4. [D8] Application serveur non disponible
    Par Keke des Iles dans le forum EDI
    Réponses: 4
    Dernier message: 27/09/2004, 12h06

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