2012-07-04 20 views
5

जेएक्स-आरएस 2.0 का एक लक्ष्य सीडीआई को पूर्ण करना था और पुराने @Inject इंजेक्शन के साथ पुराने @Context को प्रतिस्थापित करना था। लेकिन अगर मैं JSR 339 देखता हूं तो इसका उल्लेख नहीं है। तो वास्तव में सीडीआई एकीकरण क्या है? क्या Google Guice के बजाय सीडीआई के साथ जेएक्स-आरएस का उपयोग करने का कोई फायदा होगा?गुइस के बजाय सीडीआई/वेल्ड के साथ जेएक्स-आरएस 2.0 का उपयोग करने का लाभ?

उत्तर

4

@Context अभी भी जेएक्स-आरएस 2.0 में इंजेक्शन करने का आधिकारिक तरीका है। विनिर्देश हालांकि राज्य है कि एक कार्यान्वयन मई @Inject के उपयोग @Context के साथ (JAX-आरएस 2.0 EDR 3 की धारा 10.2.5 से) बनाने:

क्रियान्वयन @Inject या @Resource के उपयोग की आवश्यकता नहीं होगी का ट्रिगर इंजेक्शन के लिए जेएक्स-आरएस एनोटेटेड फाइल्स या प्रॉपर्टीज। कार्यान्वयन ऐसे उपयोग का समर्थन कर सकते हैं लेकिन उपयोगकर्ताओं को गैर पोर्टेबिलिटी के बारे में चेतावनी देना चाहिए।

इसलिए यह है कि JAX-RS 2.0 के सभी कार्यान्वयन @Inject का समर्थन करता है कुछ नहीं है, और असंगति पैदा हो सकता है अगर एक JAX-आरएस 2.0 कार्यान्वयन को बदलना चाहता है।

मैंने थोड़ा सा शोध किया और ऐसा लगता है कि जर्सी 2.0 को कम से कम @Inject के लिए समर्थन मिला है।

मैं @Inject उपयोग करने के बजाय @Context की है कि यह गैर JAX-आरएस संसाधनों के सभी @Inject के एक एक JAX-आरएस वेब सेवा में होता है के साथ और अधिक सुसंगत है में लाभ लगता है।

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

  • कोई संबंधित समस्या नहीं^_^