5

ईजेबी पर लागू होने के लिए संपत्ति सेट का प्रबंधन करने का सबसे अच्छा तरीका क्या है, और आसानी से मशीनों/वातावरण (जैसे डीवी, टेस्ट, प्रोड) के बीच उन्हें अलग करने में सक्षम हो सकता है? उदाहरण के लिए, ऐप सर्वर पर अपनी ईजेबी गुणों को कॉन्फ़िगर करने का कोई तरीका है (जो गारंटी देता है कि आप उन्हें मशीन/पर्यावरण द्वारा बदल सकते हैं)।जे 2 ईई आवेदन/बीन कॉन्फ़िगरेशन सर्वोत्तम व्यवहार?

विशेष रूप से:

1) मैं एक सिंगलटन EJB जो कुछ गुण (पर्यावरण) विशिष्ट सेट की जरूरत है। क्या एनोटेशन कंटेनर को कहने के लिए एनोटेशन (ओं) का उपयोग किया जाता है, जहां वे गुणों को देखना चाहते हैं और उन्हें स्वचालित रूप से बीन पर लागू कर देंगे?

2) विभिन्न संपत्ति सेटों का प्रबंधन करने का सबसे अच्छा तरीका क्या है, यानी देव, परीक्षण, प्रोड, ताकि जे 2 ईई ऐप सर्वर के बीच पोर्टेबल हो, और आप प्रत्येक सर्वर के लिए विशिष्ट गुणों को सहजता से प्रबंधित कर सकते हैं?

यदि कोई अच्छा दस्तावेज लिंक हैं - मुझे बताएं। मैंने चारों ओर गुगल किया है और ऊपर दिए गए बिंदुओं पर सीधे कुछ भी नहीं देखा है।

उत्तर

2

मैं एक सिंगलटन सहायक वर्ग "PropertiesHelper" का उपयोग करता हूं जिसमें Properties सदस्य होता है और पहली संपत्ति पहुंच प्रयास पर एक XML कॉन्फ़िगरेशन फ़ाइल से पढ़ता है। सहायक कॉन्फ़िगरेशन सेटिंग्स के पूरे सेट को समाहित करता है और उन्हें डिस्क से एक से अधिक बार पढ़ने से रोकता है।

फ़ाइल स्थान मेरी जावा opts में निर्दिष्ट और System.getProperty()

प्रणाली गुण एनोटेशन के रूप में उपयोग करते हुए PropertiesHelper द्वारा में पढ़ा है, मुझे जावा मूल रूप से इस का समर्थन करता है पर विश्वास नहीं करते है, लेकिन यदि आप ऐसा कर रहे हैं इच्छुक है कि आप Google Guice जैसे कुछ एओपी/निर्भरता इंजेक्शन ढांचे को देखना चाहेंगे जो इस "क्रॉस-कटिंग" में बेहतर हैं।

+0

प्रतिक्रिया के लिए धन्यवाद। मैं ऐप सर्वर स्तर पर कुछ की उम्मीद कर रहा था, जैसा कि आप डेटाबेस पूल और कनेक्शन गुणों को कॉन्फ़िगर करते हैं, जिनके द्वारा ऐप सर्वर के दृढ़ता ढांचे में प्लग इन किया जाता है। यह एक अच्छा साफ डिजाइन है, क्योंकि सेटिंग्स ऐप सर्वर इंस्टेंस से बंधे हैं, जो आमतौर पर एक विशिष्ट वातावरण (जैसे DEV, TEST, PROD) से जुड़ी होती है। –

+0

मुझे ऐसा कुछ भी पता नहीं है, हालांकि मुझे लगता है कि इसका भारी इस्तेमाल किया जाएगा। ऐसा लगता है कि इसे एक ऐप सर्वर विशिष्ट उत्पाद होना होगा क्योंकि इसके लिए कोई जावा स्पेक नहीं है। अगर आप कुछ सुनते हैं तो मुझे बताएं। – jpredham

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