2012-02-17 13 views
5

मेरे पास वेबस्पेयर एप्लिकेशन सर्वर 8 (WAS) पर चल रहा एक वेब एप्लिकेशन है। web.xml में मेरे पास है:एक वेबस्पेयर अनुप्रयोग सर्वर में वसंत द्वारा संसाधन लोड हो रहा है

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

पर था फिर जब मैं अपने अनुप्रयोग को तैनात - यह उपसर्ग "wsjar: फ़ाइल ..." के साथ यूआरएल द्वारा अपने सभी ctx फ़ाइलों को लोड करता है कि अच्छा है।

लेकिन जब मेरे कार्य अनुप्रयोग में मैं अपने आवेदन संदर्भ की वस्तु का उपयोग करने के इस तरह के संसाधनों लोड करने का प्रयास:

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

यह अपवाद है कि गलत URL फेंकता है - लेकिन अगर मैं preffix जोड़ें "wsjar:", की तरह यह:

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

यह अच्छी तरह से काम करता है। लेकिन मुझे अलग-अलग ऐप सर्वर, और सर्वलेट कंटेनर पर संसाधन लोड करने के लिए सार्वभौमिक प्रणाली बनाने की आवश्यकता है। टॉमकैट उपसर्ग में जरूरी नहीं है।

मैं डब्ल्यूएएस पर अपने ऐप में संसाधन कैसे लोड कर सकता हूं जैसे ContextLoader ContextLoaderListener के माध्यम से मेरी सीटीएक्स फाइलों को प्रीफिक्स "wsjar:" के बिना लोड करता है?

उत्तर

-1

ऐसा कुछ करने का प्रयास करें।

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

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

समस्या यह है कि "संसाधन संसाधन = appContext.getResource (" classpath *: by/example/**/I - *। Sql ");" काम पर काम नहीं कर रहा है –

1

जब मैं पूर्ण पैकेज नामों का उपयोग करता हूं तो मुझे आईबीएम डब्ल्यूएएस के साथ कोई समस्या नहीं है। इस तरह:

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

मैंने एकाधिक फ़ाइलों को इंगित करने के लिए क्षुद्रग्रहों का उपयोग करने की कोशिश नहीं की। हो सकता है कि सभी व्यक्तियों की फाइलें आपके लिए काम कर सकें।

संबंधित मुद्दे