2012-12-19 13 views
10

में विकास और उत्पादन के बीच क्या अंतर है मैं जेएसएफ में माईफेस के साथ कुछ विकास कार्य कर रहा हूं और मुझे यह चेतावनी मिली है।माईफेसेस

******************************************************************* 
*** WARNING: Apache MyFaces-2 is running in DEVELOPMENT mode. *** 
***           ^^^^^^^^^^^   *** 
*** Do NOT deploy to your live server(s) without changing this. *** 
*** See Application#getProjectStage() for more information.  *** 
******************************************************************* 

विकास और उत्पादन मोड के बीच क्या अंतर है? क्या सुरक्षा जोखिम हैं? क्या यह सिर्फ प्रदर्शन संवर्द्धन है?

उत्तर

15

कोई सुरक्षा जोखिम नहीं है, हालांकि प्रदर्शन प्रभाव हैं। जब परियोजना चरण विकास के लिए सेट किया जाता है, तो अक्सर लॉग किया जाएगा और कम कैश किया जाएगा।

लॉगिंग के संबंध में, घटक कैसे बनाए और प्रस्तुत किए जाने के बारे में अतिरिक्त डीबग जानकारी लॉग हो जाएगी। उदाहरण के लिए, यदि आपके पास <h:inputText> कोई माता-पिता <h:form> के बिना है, तो यह लॉग इन और चेहरे संदेश के रूप में प्रदर्शित होगा। सभी कतारबद्ध चेहरे संदेश जो <h:message(s)> घटकों में प्रदर्शित नहीं होते हैं, पृष्ठ के निचले भाग में एक अलग संदेश सूची में किसी नारंगी चेतावनी फ़ॉन्ट के साथ प्रदर्शित किए जाएंगे, जो "अनदेखा" संदेश दर्शाते हैं। साथ ही, अपवाद हैंडलिंग अलग है, MyFaces <error-page> के बजाय एक समृद्ध त्रुटि पृष्ठ दिखाएगा जिसमें घटक पेड़ और स्कॉप्ड चर के बारे में विस्तार शामिल है।

कैशिंग के संबंध में, फेसलेट कैश अधिक नियमित रूप से ताज़ा हो जाएगा। तो यदि आप एक फेसलेट फ़ाइल में परिवर्तन करते हैं और F5 दबाते हैं, तो परिवर्तन "तत्काल" परिलक्षित होंगे। यह उत्पादन चरण के लिए सच नहीं है, आपको मूल रूप से पूरे सर्वर को पुनरारंभ करने की आवश्यकता होगी।

इसके अलावा jsf.js जावास्क्रिप्ट फ़ाइल वेबब्रोसर में आसान जेएस डीबगिंग की अनुमति देने के साथ, अपूर्ण संस्करण के रूप में दिखाई देगी। उत्पादन चरण में, यह बजाय छोटा संस्करण है, जो इस प्रकार सेवा करने के लिए छोटा और तेज़ है, लेकिन यह पूरी तरह से पढ़ा जा सकता है।

मोज़रा के समृद्ध त्रुटि पृष्ठ की अपेक्षा बहुत समान व्यवहार है।