मैं वसंत में EJB इंजेक्षन कोशिश कर रहा हूँ (3.1.2) सेवा (दोनों अलग युद्धों में) में EJB 3 इंजेक्शन दोनों बहुत ही सरल (उदाहरण के सरल करने के लिए हटा दिया विधि) कर रहे हैं:स्प्रिंग बीन
@Remote
public interface MyBean {
}
@Singleton
public class MyBeanImpl implements MyBean{
}
सेवा:
@Service
public class MyServiceImpl implements MyService{
}
पहली नजर बात पर बहुत सरल है, लेकिन मैं करने की कोशिश की:
@EJB(lookup = "java:global/ejbApp/MyBeanImpl!com.my.MyBean")
private MyBean myBean;
और यह काम नहीं किया। तब मैं भी करने की कोशिश की:
@EJB(mappedName = "java:global/ejbApp/MyBeanImpl!com.my.MyBean")
private MyBean myBean;
और
@Resource(mappedName = "java:global/ejbApp/MyBeanImpl!com.my.MyBean")
private MyBean myBean;
लेकिन न तो काम किया। लेकिन
@Autowired
private MyBean myBean;
मैं वास्तव में इस समाधान पसंद नहीं: मेरे वसंत विन्यास में और सेवा में
<jee:jndi-lookup id="myBean" jndi-name="java:global/ejbApp/MyBeanImpl!com.my.MyBean" />
:
मैं उपयोग करते हुए मेरे EJB इंजेक्षन करने में कामयाब रहे।
@EJB(lookup = MyBean.JNDI_NAME)
private MyBean myBean;
धन्यवाद टोमेक :) यह "किसी भी तरह" मेरी समस्या हल करता है। मैं कुछ सरल समाधान का लक्ष्य रख रहा था, लेकिन अगर मैं इसे एक ही एनोटेशन के साथ हल नहीं कर सकता हूं तो मैं आपका रास्ता आजमाउंगा। मैंने सोचा कि स्प्रिंग में ईजेबी इंजेक्ट करना वास्तव में आसान होगा (यह सब के बाद मानक है))। –
मेरी टिप्पणी को किसी उत्तर में बदलना क्योंकि किसी और ने उत्तर नहीं दिया। –