2008-10-01 15 views
8

हम fmt का उपयोग कर रहे हैं: सेटबंडल डेटाबेस से संसाधन बंडल लोड करने के लिए (हमने संसाधन बंडल क्लास को ऐसा करने के लिए बढ़ाया है)। जब हम डेटाबेस में कोई मान संशोधित करते हैं, तो हमें वेब ऐप पर नया मान प्रदर्शित करने के लिए वेब सर्वर को फिर से लोड करना होगा।जावा में, वेब अनुप्रयोग में गतिशील रूप से संसाधन बंडल को फिर से लोड कैसे करें?

क्या वेब सर्वर को पुनरारंभ किए बिना नए मान का उपयोग करने का कोई आसान तरीका है?

(हम नहीं हमेशा डेटाबेस से मूल्य को देखने के लिए चाहते हैं, लेकिन हम एक विशेष 'व्यवस्थापक' यूआरएल को फोन करके उदाहरण के लिए कैश रद्द करने के लिए, चाहते हैं)

संपादित करें: हम JDK 1.4 का उपयोग कर रहे , इसलिए मैं उस संस्करण पर एक समाधान पसंद करूंगा। :)

+0

यदि आप संसाधनबंडल कक्षा से भी जुड़े नहीं हैं, तो स्प्रिंग का संदेश स्रोत अबास्ट्रक्शन कैशिंग और संदेशों को पुनः लोड करने सहित अधिक लचीला दृष्टिकोण प्रदान करता है। यह आपके कस्टम संसाधन बंडल को लपेट सकता है। यदि आवश्यक हो, तो आप बस उस स्प्रिंग एपीआई के उस बिट का उपयोग कर सकते हैं। – skaffman

+0

उत्तर शायद आपके द्वारा उपयोग किए जा रहे सर्वलेट युक्त (ऐप सर्वर) के लिए विशिष्ट है, उदा। टॉमकैट या जेबॉस। कौनसा? –

+0

हम विकसित करने के लिए टोमकैट का उपयोग कर रहे हैं लेकिन उत्पादन के लिए वेबस्पेयर एप्लिकेशन सर्वर (5.X)। – paulgreg

उत्तर

3

जैसा कि अन्य ने टिप्पणियों में बताया है, आप शायद वसंत में देखना चाहें - खासकर ReloadableResourceBundleMessageSource

7

आप JDK 1.6 उपयोग कर रहे हैं आप बंडल कैश डेटाबेस से नए मूल्यों के साथ लोड करने की आवश्यकता है, तो नियंत्रित करने के लिए कॉलबैक तरीकों getTimeToLive() और ResourceBundle.Control में needsReload() उपयोग कर सकते हैं।

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