यहां स्थिति है।WELD-001408 इंटरफेस लागू करने वाले ईजेबी इंजेक्शन करते समय असंतुष्ट निर्भरता
मैंने मिला निम्नलिखित इंटरफेस:
public interface Parent { }
public interface ChildOne extends Parent { }
public interface ChildTwo extends Parent { }
और 2 EJBs:
@Stateless
public class FirstBean implements ChildOne { }
@Stateless
public class SecondBean implements ChildTwo { }
और यह भी इस CDI बीन:
@Named
@SessionScoped
public class TestController implements Serializable {
@Inject
private FirstBean firstBean;
@Inject
private SecondBean secondBean;
}
इस तैनात करने के लिए प्रयास करते समय ग्लासफ़िश 3.1 पर मुझे निम्नलिखित अपवाद मिलता है:
Exception while loading the app : WELD-001408 Unsatisfied dependencies for type [FirstBean]
with qualifiers [@Default] at injection point [[field] @Inject private com.test.controllers.TestController.firstBean]
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [FirstBean]
with qualifiers [@Default] at injection point [[field] @Inject private com.test.controllers.TestController.firstBean]
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:305)
जब दोनों ईजेबी Parent
इंटरफ़ेस को लागू करते हैं, तो अपवाद समान होता है।
इसके अलावा, मैंने क्वालीफायर जोड़ने की कोशिश की, लेकिन इससे कुछ भी नहीं बदला।
धन्यवाद एक टन! वास्तव में अच्छी व्याख्या! और मैं पहले से ही उस अपवाद में फंस गया हूं 'ejb के लिए ejbRef को परिवर्तित करने में असमर्थ ...', मुझे नहीं पता था कि यह एक ज्ञात मुद्दा है। – jFrenetic
मैंने इसे एक बार फिर से चेक किया। मैंने सुझाव दिया कि इंटरफ़ेस संदर्भ द्वारा उन ईजेबी को इंजेक्ट करने का प्रयास किया।और मुझे अभी भी तैनाती के दौरान यह 'असंतुष्ट निर्भरता ...' अपवाद मिल रहा है। मैंने @ लोकाल के साथ इंटरफेस को भी टिप्पणी की। फिर भी यह काम नहीं करता है। – jFrenetic
मैं कल इसे बाहर की कोशिश की और यह मेरे लिए काम किया है, इसके अलावा यह काफी भावना का एक सा बना देता है। वैसे भी, जब मैं घर वापस आऊंगा तो मैं इसे फिर से कोशिश करूंगा। –