मैंने जावा में एक विशिष्ट जावा पैकेज/लाइब्रेरी का लाभ उठाने के लिए एक थ्रिफ्ट सर्वर लिखा है, लेकिन मैं जावा प्रोग्रामर नहीं हूं।जार स्टार्टअप पर जावा क्लास/लाइब्रेरी प्रीलोडिंग?
समस्या है; मैं सर्वर पर पहली आरपीसी कॉल के लिए टाइम-आउट देख रहा हूं। बाद के अनुरोध किसी भी मुद्दे के बिना निष्पादित किए जाते हैं, और यह केवल कुछ (लेकिन आवश्यक) भाषाओं में लिखे गए ग्राहकों को प्रभावित करता है।
मेरा वर्तमान विचार यह है कि प्रतिक्रिया पर सर्वर समय-समय पर होता है क्योंकि पहले कॉल पर इसे अनुरोध के लिए आवश्यक सभी पुस्तकालयों को लोड करना होता है। कुछ थ्रिफ्ट क्लाइंट कार्यान्वयन दूसरों के मुकाबले बेहतर समय-समय पर संभालना चाहिए, संभवतः अनुरोध को थोड़ी देर तक खोलना चाहिए।
क्या जावा में लाइब्रेरी को प्रीलोड करने का कोई तरीका है जिसका उपयोग मैं पहली बार .jar फ़ाइल शुरू करता हूं, इसलिए पहले अनुरोध पर देरी नहीं होती है?
समाधान: मुझे ट्र्रिफ्ट क्लाइंट (ओं) से टाइमआउट बढ़ाने के द्वारा समस्या (और कुछ और उठाए गए) के आसपास मिल गया। हालांकि, मैंने स्टैटिक/क्लास .forName उत्तर भी चीजों की मदद करने के लिए लागू किया है, जो बहुत अच्छा काम करता है। धन्यवाद!
आप कुछ मौजूदा [जावा वर्ग preloader] पर एक नज़र लेने के लिए चाहते हो सकता है (https://github.com ऐसा दिखाई दे सकता/jermainexu/ClassPreloader)। – StarPinkER