java - How do CDI beans behave when accessed by a JAX-WS web service? -
मैं SOAP आधारित @WebService
का उपयोग करके अपने मौजूदा जेईई 7 वेब अनुप्रयोग की कुछ कार्यक्षमता का पर्दाफाश करना चाहता हूं। क्या यह सेवा मेरे ऐप के सीडीआई बीन्स को इंजेक्ट कर सकती है? कैसे @RequestScoped
, @ सत्रसैक्ड
, और @ApplicationScoped
सीडीआई सेम व्यवहार करते हैं, यह देखते हुए कि कोई HttpServletRequest
पहचानने के लिए नहीं है वर्तमान सत्र या अनुरोध? अर्थात।
मेरी टिप्पणियां:
-
@ अनुप्रयोग साइक्ड
अपेक्षित रूप में काम करने लगता है -
सत्र सत्र से जुड़े
अनुरोध की गुंजाइश की तरह लगता है कि हर बार वेब सेवा को बुलाया जाता है, लेकिन यह तब तक अन्य बीन्स तक पहुंच जाता है जब तक सर्विस पूरा नहीं हो जाती -
@ReequestScoped
सेम की संपत्ति को देखा नहीं जा सकता - उदा। यदि मेरी webservice दो@RejectScoped
सेम में इंजेक्ट करता है, तो उनमें से एक दूसरे को इंजेक्ट करता है, एक इंसेंट करने वाले पहले इंसेंट की बजाय एक नया इंस्टाल्ट बनाया जाता है
My मेरा सत्र बीन्स का अनुरोध बीन्स की तरह व्यवहार करने के लिए @WebService
में इंजेक्शन बनाने के लिए @Dependent
एनोटेशन का उपयोग करना था, लेकिन अनुरोध के कारण यह कार्य नहीं कर रहा है ऊपर उल्लेख किया। मैं बस अपने @ सत्र-स्पीड
सेम के रूप में उपयोग कर सकता था, लेकिन मैं स्मृति ओवरहेड के बारे में चिंतित हूं क्योंकि प्रत्येक वेब सेवा अनुरोध के लिए एक नया बीन बनाया जाएगा, और फिर कुछ 30 मिनट या उससे अधिक के लिए जारी रहेंगे , सेवा समाप्त होने के बाद नष्ट होने के बजाय,।
कोई भी स्पष्टीकरण या विचारों की सराहना की जाएगी!
Comments
Post a Comment