वाइल्डफ्लाई 8.1 का उपयोग करना मेरे पास कई बीन्स हैं जिन्हें मैं एक दूसरे में कई ईजेबी इंजेक्ट करने का प्रयास करता हूं। आइए कहें कि मेरे पास 3 सेम हैं:क्यों स्टेटलेस बीन्स छद्म-स्कोप्ड के रूप में माना जाता है और सर्कुलर निर्भरता नहीं हो सकती है?
@Stateless
public class A{
@Inject
private B b;
}
@Stateless
public class B{
@Inject
private C c;
}
@Stateless
public class C{
@Inject
private A a;
}
जाहिर है, मेरे पास परिपत्र निर्भरता है। विनिर्देश के अनुसार:
कंटेनर सेम निर्भरता ग्राफ जहां कम से कम एक सेम निर्भरता के हर परिपत्र श्रृंखला में भाग लेने वाले एक सामान्य दायरे
के कोड से ऊपर चल रहा है है में circularities का समर्थन करने के लिए आवश्यक है फार्म की एक त्रुटि में कंटेनर परिणाम:
org.jboss.weld.exceptions.DeploymentException: वेल्ड-001,443: छद्म scoped सेम परिपत्र निर्भरता है। निर्भरता पथ:
-सत्र बीन [कक्षा ए क्वालीफायर [@Default @Any] के साथ; स्थानीय इंटरफ़ेस हैं [एक] BackedAnnotatedField] @Inject निजी बी,
[..]
मेरा प्रश्न यहाँ है: @Stateless सेम की गुंजाइश क्या है? क्या यह डिफ़ॉल्ट रूप से @ निर्भर है? और सबसे अधिक मैं स्टेटलेस सत्र बीन्स के बीच परिपत्र निर्भरताओं को कैसे सक्षम कर सकता हूं?
क्षमा करें यदि प्रश्न बहुत छोटा है। मैं किसी भी अच्छे आगे पढ़ने वाले स्रोतों की सराहना करूंगा जो प्रस्तुत व्यवहार की व्याख्या करेंगे। अग्रिम में धन्यवाद।
अद्यतन ठीक है। मुझे कामकाज मिला। मैंने @ इंजेक्ट के बजाय @EJB एनोटेशन का उपयोग किया है लेकिन यह @ इंजेक्ट के अजीब व्यवहार की व्याख्या नहीं करता है। सवाल खुला रहता है लेकिन जैसा कि मिका ने सुझाव दिया है कि यह दोनों सीडीआई विनिर्देश और वेल्ड आरआई में अनसुलझा मुद्दा हो सकता है।
का उपयोग कर मुझे ऐसा जवाब नहीं है के द्वारा होता है, लेकिन यह एक तुच्छ सवाल नहीं है। सीडीआई ईजी सदस्यों के बीच इस बारे में एक चर्चा हुई थी। सीडीआई स्पेस जिरा को देखो, इस विषय के बारे में एक मुद्दा होना चाहिए। –
@ माइकब्रौन क्या आप शायद जिरा मुद्दे पर एक लिंक प्रदान कर सकते हैं? मैंने खोज की है लेकिन मुझे यकीन नहीं है कि मैं सही देख रहा हूं। – iku
यह सीडीआई -414 है, https://issues.jboss.org/browse/CDI-414 –