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 Java Discussion :

Problème avec Spring : java.io.FileNotFoundException


Sujet :

Spring Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 204
    Points : 64
    Points
    64
    Par défaut Problème avec Spring : java.io.FileNotFoundException
    Bonjour,
    J'ai un souci avec Spring j'ai deux fichiers xml dans chaque fichier j'ai des beans définis et je voudrai dans un Filter accéder à un bean j'ai utilisé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[] {"applicationContext-service.xml"});
    		mtn = (MaintenanceService) ctx.getBean("maintenanceSrv");
    Mais ça marche pas voilà l'exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext-service.xml]; nested exception is java.io.FileNotFoundException: class path resource [applicationContext-service.xml] cannot be opened because it does not exist
    Caused by: java.io.FileNotFoundException: class path resource [applicationContext-service.xml] cannot be opened because it does not exist
    	at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:137)
    	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:351)
    	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
    	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
    	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
    	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:168)
    	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
    	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:79)
    	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:294)
    	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:92)
    	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
    	at com.etai.atelio.doc.webapp.filter.MaintenanceFilter.doFilter(MaintenanceFilter.java:35)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
    	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
    	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
    	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    	at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
    	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
    	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    	at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
    	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    	at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
    	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
    	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    	at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
    	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
    	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    	at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
    	at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    	at java.lang.Thread.run(Thread.java:595)
    Merci de votre opinion

  2. #2
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Points : 492
    Points
    492
    Par défaut
    Tu devrais essayer en ajoutant classpath:/ devant applicationContext-service.xml.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 204
    Points : 64
    Points
    64
    Par défaut
    Salut,

    J'ai fais mais toujours pareil la même exception est a été lévée

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 143
    Points : 157
    Points
    157
    Par défaut
    Tout dépend de l'endroit où tu as mis ton fichier XML. Spring n'arrive pas à le charger parce qu'il ne le trouve pas, c'est tout...
    Où est-ce que tu l'as mis? Dans ton WEB-INF/ ?

  5. #5
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Tu peux procèder plutôt comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Test {
     
    	public static void main(String[] args) {
    		ApplicationContext ac = new ClassPathXmlApplicationContext(
    				"applicationContext-service.xml", Test.class);
    	}
    }
    Notes le second paramètre passé au constructeur qui est la classe courante. Maius assures toi que le applicationContext-service.xml se trouve dans le même package que Test.

    Mais je ne comprends pas un truc : tu es bien dans une application web, c'est ça ? Si c'est le cas, alors pourquoi charges tu manuellement le xml de Spring ? pourquoi ne pas injecter plutôt l'ApplciationContext managé par Spring dans un de tes beans ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 204
    Points : 64
    Points
    64
    Par défaut
    Oui je suis bien dans une appli web, mais en fait moi je souhaite developper un filter que je dois executer avant toute Action Struts déclanchée dans l'appli, le but d'un tel filter c'est la vérification d'une info dans la basemoi j'utilise AppFuse si tu le connais, avec cette méthode les Action Struts sont déclaré dans un fichier XML avec les propriétés qu'y sont déclaré voilà un extrai de ce fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     
    	<bean name="/mainMenu" class="com.*.MainAction">
    		<property name="userManager" ref="userManager" />
    	</bean>
     
    	<bean name="/cgv" class="com.*.CgvAction">
    		<property name="userManager" ref="userManager" />
    		<property name="roleManager" ref="roleManager" />
    	</bean>
     
    	<bean name="/login" class="com.*.LoginFlowAction" >
    		<property name="maintenanceService" ref="maintenanceSrv" />
    	</bean>
     
    	<bean name="/configuration" class="com.*.ConfigurationAction">
    		<property name="userManager" ref="userManager" />
    		<property name="baseManager" ref="manager"/>
    	</bean>
    ..............................................................
    et pour le filter c'est pas une Action Struts donc je peux pas la declaré avec la propriété qui va permettre l'accès à ma couche service puis ma couche DAO c pour ça que j'essaye de chargé le fichier xml de spring

    Merci

  7. #7
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Pour récupérer l'ApplicationContext depuis un filtre, tu peux utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    import org.springframework.web.context.WebApplicationContext;
     
    import org.springframework.web.context.support.WebApplicationContextUtils;
     
    :
    :
    :
    :
     
    public void doFilter(ServletRequest request, ServletResponse response,
     
    			FilterChain filterChain) throws IOException, ServletException {
     
    	if (request instanceof HttpServletRequest) {
     
    		HttpServletRequest hRequest = (HttpServletRequest) request;
    		final WebApplicationContext ac = WebApplicationContextUtils
     
    			.getWebApplicationContext(hRequest
     
    			.getSession(false).getServletContext());
    	}
    }

Discussions similaires

  1. [Framework] Problème avec Spring AOP
    Par yashiro dans le forum Spring
    Réponses: 1
    Dernier message: 09/06/2009, 18h12
  2. Problème avec le Java heap space
    Par Viscapon dans le forum JSF
    Réponses: 5
    Dernier message: 18/05/2009, 18h42
  3. Problème avec NamingContext.java:1448
    Par bga_O dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 27/04/2009, 15h43
  4. Problème avec Spring Plugin
    Par H-bil dans le forum Struts 1
    Réponses: 3
    Dernier message: 16/12/2008, 15h21
  5. problème avec les .java compilés
    Par root76 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 05/05/2006, 20h14

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