2012-02-17 8 views
5

Possiedo un'applicazione Web in esecuzione su websphere application server 8 (WAS). In web.xml ho:Caricamento di risorse per primavera in un server di applicazioni webspace

<context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath*:by/example/**/*-ctx.xml</param-value> 
</context-param> 

Poi quando schiero la mia app è stato - Si carica tutti i miei file CTX da URL con prefisso "wsjar: file ..." ciò che è buono.

Ma quando nella mia app di lavoro cerco di utilizzare l'oggetto del mio contesto applicativo per caricare le risorse in questo modo:

applicationContext.getResource("classpath*:by/example/**/I-*.sql").getUrl() 

E 'tiri eccezione che URL non corretto - ma se aggiungo preffix "wsjar:", come this:

applicationContext.getResource("wsjar:classpath*:by/example/**/I-*.sql").getUrl() 

Funziona bene. Ma ho bisogno di creare un sistema universale per caricare risorse su diversi server di app e contenitori di servlet. Nel prefisso di tomcat non è necessario.

Come posso caricare le risorse nella mia app su WAS nello stesso modo in cui ContextLoader tramite ContextLoaderListener carica i miei file ctx senza prefisso "wsjar:"?

risposta

-1

Provare qualcosa come questo.

 ApplicationContext appContext = 
     new ClassPathXmlApplicationContext(new String[] {"If-you-have-any.xml"}); 

    Resource resource = 
     appContext.getResource("classpath*:by/example/**/I-*.sql"); 
+2

Il problema è che "Risorsa risorsa = appContext.getResource (" classpath *: by/example/**/I - *. Sql ");" NON FUNZIONA SU ERA –

1

Quando uso i nomi di pacchetti completi non ho problemi con IBM WAS. Come questo:

  classpath:com/tdp/abc/facilitador/boost/config/reglaBoostWS-support.xml   

non ho provato usando asteriks per puntare più file. Forse elencare tutti i file individuali può funzionare per te.