2011-08-19 16 views
6

में जावा दावे को कैसे सक्षम कर सकता हूं, मैं अपने स्प्रिंग वेब-ऐप में जावा assert कीवर्ड का उपयोग करना चाहता हूं, मुख्य रूप से मेरे डोमेन क्लास (कन्स्ट्रक्टर के भीतर इनवेरिएंट की जांच करना) पर, लेकिन मैं नहीं देख सकता कि रनटाइम एसेरशन जांच को कैसे सक्षम किया जाए।मैं टॉमकैट

एक सामान्य जावा आवेदन के लिए, मैं जावा कमांड के साथ -ea स्विच का उपयोग होगा, लेकिन मैं देख पा रहे हैं या नहीं कैसे मैं बिलाव के साथ ऐसा कर सकते हैं, आदि

इस सिफारिश बात है, क्या मुझे स्प्रिंग ढांचे से "आर्टर्ट" कक्षा का उपयोग करें? हालांकि, मैं अपने डोमेन वर्गों को स्प्रिंग निर्भरताओं से मुक्त रखना चाहता हूं।

उत्तर

8

बिल्ला के लिए, -eaJAVA_OPTS में जोड़ने के लिए (सभी जावा प्रक्रियाओं शुरू कर दिया), या यहाँ तक CATALINA_OPTS (केवल वेब अनुप्रयोग इंजन के लिए) के लिए बेहतर है।

JAVA_OPTS और CATALINA_OPTS बारे में अधिक जानकारी के लिए फ़ाइलों को पढ़ें catalina.bat या catalina.sh

संपादित: से @Joachim

+0

कि लिए धन्यवाद, लेकिन एक) मैं ग्रहण (भीतर से (उपयोग कर रहा हूँ देव के लिए) VMware टीसी सर्वर टिप्पणी के लिए धन्यवाद कि है 'catalina.bat' ?, ख) मैं सिर्फ अपने स्वयं के वेब-एप पर दावे को सक्षम करना पसंद करूंगा और सी) मैं इसे VMWares क्लाउडफाउंड्री जैसे कुछ कैसे कर सकता हूं? एक बार फिर धन्यवाद! –

+2

एक और गंभीर नोट पर: 'CATALINA_OPTS' यहां अधिक उपयुक्त बिंदु होगा। अंतर यह है कि 'JAVA_OPTS' का उपयोग जावा के * सभी * आमंत्रणों पर टॉमकैट स्टार्टअप स्क्रिप्ट से किया जाएगा (जिसमें "एक चल रहे सर्वर से कनेक्ट करें और इसे बंद करने के लिए कहें"), जहां' CATALINA_OPTS' का उपयोग केवल तभी किया जाएगा वास्तव में सर्वर चल रहा है। इस मामले में अंतर बहुत महत्वपूर्ण नहीं है, लेकिन स्मृति जैसी चीजों के लिए सही का उपयोग करना बहुत महत्वपूर्ण है (आप छोटे शट डाउन स्क्रिप्ट को 4 जीबी मेमोरी आवंटित नहीं करना चाहते हैं)। –

+0

@DecaniBass: अच्छी तरह तकनीकी रूप से प्रति-वेबैप आधार पर दावा सक्षम करना संभव होना चाहिए, क्योंकि ['classLoader.setDefaultAssertionStatus()'] (http://download.oracle.com/javase/7/docs/api/ जावा/लैंग/क्लासलोडर.html # setDefaultAssertionStatus (बूलियन)) लेकिन दुर्भाग्य से मुझे नहीं पता * अगर * और * कैसे * वे अनुप्रयोग सर्वर उस विकल्प को उजागर कर रहे हैं। –