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

Spring Boot Java Discussion :

problème d'accès à un ficher situé dans le répertoire resources dans un contexte springboot


Sujet :

Spring Boot Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Points : 250
    Points
    250
    Par défaut problème d'accès à un ficher situé dans le répertoire resources dans un contexte springboot
    Bonjour, je développe une application springboot. Dans le répertoire resources, j'ai le fichier suivant



    folder1/folder2/example.wsdl

    J'utilise une classe utilitaire qui fait appel à ce fichier. Il semble que ce fichier n'est pas trouvé. J'essaye de débuguer et vérifier si ce fichier est dans le classpath de la manière suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ResourceUtils.getFile("classpath:folder1/folder2/example.wsdl").exists()
    et effectivement il lance une exception FileNotFoundException. De deux choses l'une. Ou bien ma méthode de vérification n'est pas bonne, ou bien l'application n'arrive pas à trouver ce ficher dans le classpath

    Il y a peut être la raison suivante : ma classe utilitaire est utilisé dans une méthode pour laquelle, deux étages au dessus, j'utilise une transaction REQUIRES_NEW (@Transactional(propagation= Propagation.REQUIRES_NEW)). C'est peut être une piste à creuser

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 467
    Points : 901
    Points
    901
    Billets dans le blog
    5
    Par défaut
    Le mieux est d'utiliser l'annotation @PropertySource.

    https://www.baeldung.com/properties-with-spring

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 467
    Points : 901
    Points
    901
    Billets dans le blog
    5
    Par défaut
    Si on a un fichier qui doit être utiliser, le mieux est une configuration externe.

    Etape1: Définir la valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    @Configuration
    MaClasseDeConfiguration{
       @Value("${monPath}")
       private String monPath;
    }
    Du coup, je peux injecter, par exemple, le bean qui sera utilisé dans la conf de Spring:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    @Bean
    public File monWSL(){
      return new File(monPath);
    }

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 467
    Points : 901
    Points
    901
    Billets dans le blog
    5
    Par défaut
    Si on a un WSDL, c'est que l'on a des services SOAP:
    https://fr.wikipedia.org/wiki/Web_Se...ption_Language

    Là aussi, on peux utiliser Apache CXF:
    https://cxf.apache.org/
    https://en.wikipedia.org/wiki/Apache_CXF

    Apache CXF peut s'intégrer à Spring:
    https://www.baeldung.com/apache-cxf-with-spring

  5. #5
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2020
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mai 2020
    Messages : 329
    Points : 443
    Points
    443
    Par défaut
    Est-ce qu'il ne manque pas un "/" au debut de votre chemin ?

    Class#getResource fait une différence, c'est fort probable que ResourceUtils se base sur le même principe.

    https://docs.oracle.com/javase/8/doc...a.lang.String-

Discussions similaires

  1. [AC-2010] Problème d'accés à une requête dans un ficher en référence
    Par zooffy dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/07/2017, 14h02
  2. Réponses: 3
    Dernier message: 23/09/2009, 21h06
  3. Réponses: 5
    Dernier message: 29/11/2006, 11h58
  4. Réponses: 2
    Dernier message: 23/11/2003, 18h44
  5. Temps d'accès à des données dans un fichier
    Par TONIAPEL dans le forum Assembleur
    Réponses: 5
    Dernier message: 28/09/2003, 15h21

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