पर कोड चल रहा है या नहीं, यह कैसे पहचान सकता है कि Google App Engine रन-टाइम (जावा) पर कुछ कोड (एक सर्व-लेट या एक साधारण वर्ग) चल रहा है या नहीं, ताकि कोई यह तय कर सके कि कोई ऐप इंजन के विशिष्ट पुस्तकालयों का उपयोग करने के लिए या नहीं? क्या इसके लिए कुछ विश्वसनीय रनटाइम पर्यावरण आईडी है?पहचानें कि क्या ऐप इंजन रनटाइम (जावा)
उत्तर
आप देख सकते हैं com.google.appengine.runtime.version
संपत्ति:
String appEngineVersion = System.getProperty("com.google.appengine.runtime.version");
यह सेट है, तो यह App इंजन है।
लेकिन मैं रनटाइम ओवरहेड से बचने के लिए अलग-अलग निर्माण लक्ष्यों का उपयोग करने पर विचार करता हूं।
उत्तर के लिए बहुत बहुत धन्यवाद। मेरे पास 2 मामलों के लिए 2 अलग-अलग कार्यान्वयन उप-वर्ग हैं और मुझे लगता है कि अलग-अलग बिल्डों की आवश्यकता के लिए वे काफी छोटे हैं (दोनों में कुल आकार में 200 आकार)। – nsegae
@Matthew Flaschen के रूप में, सिस्टम गुण हैं जिन्हें आप यह निर्धारित करने के लिए जांच सकते हैं कि GAE मौजूद है या नहीं। This link विवरण देता है।
यदि आप इस मार्ग पर जाते हैं, तो आपके आवेदन को बनाने की आवश्यकता है ताकि मुख्य कोड में जीएई कक्षाओं पर कोई स्थिर निर्भरता न हो; यानी कोड में जीएई पैकेज और कक्षाओं के लिए कोई आयात या अन्य संदर्भ नहीं (स्ट्रिंग लिटल में जीएई कक्षा के नाम आदि)। सभी निर्भरताओं को कोड के लिए अलग किया जाना चाहिए जो Class.forName(String)
का उपयोग करके लोड हो जाता है जब आपने यह निर्धारित किया है कि GAE मौजूद है या नहीं।
- आप शायद एक अतिरिक्त एडाप्टर इंटरफेस के साथ खत्म हो जाएगा और (कम से कम) दो GAE और गैर GAE मामलों के लिए कार्यान्वयन:
यह एक गैर तुच्छ भूमि के ऊपर का प्रतिनिधित्व करता है।
- आपको स्टार्टअप पर प्रासंगिक वर्ग को गतिशील रूप से लोड करने और एडाप्टर इंटरफ़ेस के माध्यम से कॉल करने के लिए (मामूली) रनटाइम ओवरहेड प्राप्त हुए हैं।
- आपकी जेएआर फ़ाइल परिणामस्वरूप बहुत बड़ी है।
- अब आपको दो प्लेटफार्मों पर परीक्षण करना होगा।
दूसरी तरफ, आपके पास एक जेएआर होने का संभावित लाभ है जो जीएई और गैर-जीएई संदर्भ दोनों में काम करता है।
यह करने का एक और तरीका भी है। http://code.google.com/p/gaevfs/wiki/ApplicationPortability
आप की रुचि कानिम्नलिखित पंक्ति है:: इस पोर्टेबल कोड लिखने के लिए कैसे पर gaevfs के दस्तावेज में अच्छी तरह से समझाया गया है
boolean isGoogleAppEngine = getServletContext().getServerInfo().contains("Google");
के रूप में समझाया here आप निम्नलिखित संपत्ति की जाँच कर सकते हैं:
String environment = System.getProperty(
"com.google.appengine.runtime.environment")
environment
ऐप इंजन पर चलते समय "उत्पादन" है, और विकास सर्वर में चलते समय "विकास" है।
@Reza क्या लिखा है के समान है, लेकिन थोड़ा क्लीनर:
उपयोग SystemProperty.environment.value()
पाने के लिए "उत्पादन" जब App Engine और "विकास" पर चलने के दौरान विकास सर्वर में चल रहा है।
मैं यहाँ इसलिए यहाँ कोई प्रकार सुरक्षित समाधान देखा है:
if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Production) {
// The app is running on App Engine...
}
की
- 1. Google ऐप इंजन (जावा)
- 2. Google ऐप इंजन जावा
- 3. Google ऐप इंजन (जावा)
- 4. Google ऐप इंजन (जावा)
- 5. Google ऐप इंजन (जावा)
- 6. Google ऐप इंजन जावा प्रोजेक्ट
- 7. ऐप-इंजन (जावा) फ़ाइल अपलोड
- 8. गेम इंजन रनटाइम डिकंप्रेशन
- 9. आयरनपीथन ने रनटाइम इंजन
- 10. Google ऐप इंजन, पायथन 2.7 रनटाइम, आयात त्रुटि: नाम djangoforms
- 11. Google ऐप इंजन - जावा या पायथन?
- 12. ऐप इंजन
- 13. ऐप इंजन
- 14. ऐप इंजन
- 15. (जावा) ऐप इंजन में स्थिर फाइलें
- 16. Google ऐप इंजन जावा - संघीय लॉगिन, डेटास्टोर
- 17. ऐप इंजन
- 18. ऐप इंजन
- 19. पहचानें कि क्या उपयोगकर्ता ने आईओएस 6 सेटिंग्स
- 20. Google ऐप इंजन सत्र
- 21. क्या Google ऐप इंजन (जावा) सेवा कक्षाएं थ्रेड-सेफ हैं?
- 22. Google ऐप इंजन एपीएनएस
- 23. ऐप इंजन ऐप प्रदर्शन परीक्षण
- 24. Google ऐप इंजन
- 25. ग्रहण क्यों मानता है कि ऐप इंजन एसडीके जार निर्देशिका है जहां ऐप इंजन एसडीके है?
- 26. Google ऐप इंजन
- 27. क्या मुझे Google ऐप इंजन छोड़ना चाहिए?
- 28. रनटाइम (जावा)
- 29. Google ऐप इंजन
- 30. जीडब्ल्यूटी और Google ऐप इंजन
संभावित डुप्लिकेट [कैसे जावा एप्लिकेशन इंजन में जाँच करने के लिए अगर हम विकास कार्य केंद्र पर हैं] (http://stackoverflow.com/ प्रश्न/1574637/कैसे-टू-चेक-इन-जावा-ऐप-इंजन-अगर-हम-विकास-कार्य-वर्कस्टेशन) –