के साथ एक जेएसएफ कनवर्टर में एक ईजेबी इंजेक्ट करें मेरे पास एक स्टेटलेस ईजेबी है जो मेरे डेटाबेस को acceses। मुझे स्ट्रिंग मान पैरामीटर से किसी इकाई ऑब्जेक्ट को पुनः प्राप्त करने के लिए जेएसएफ 2 कनवर्टर में इस बीन की आवश्यकता है। मैं ग्लासफ़िश वी 3 के साथ जेईई 6 का उपयोग कर रहा हूं।जेईई 6
@EJB
एनोटेशन काम नहीं करता है और एनपीई प्राप्त करता है, क्योंकि यह चेहरे के संदर्भ में है और इसकी ईजेबी संदर्भ तक पहुंच नहीं है।
मेरा प्रश्न है: यह अभी भी एक @Resource
या अन्य टिप्पणी या एक JNDI देखने के साथ इस सेम सुई संभव है, या मैं एक समाधान की जरूरत है?
समाधान
इस तरह एक JNDI देखने कार्य करें:
try {
ic = new InitialContext();
myejb= (MyEJB) ic
.lookup("java:global/xxxx/MyEJB");
} catch (NamingException e) {
e.printStackTrace();
}
JNDI देखने से काम नहीं करता: लेकिन यह काम करता है। मैंने @EJB (मैप किए गए नाम = "जावा: ग्लोबल/मायप्रोजेक्ट/मायईजेबी") की कोशिश की जहां मूल्य –
पर तैनाती करते समय मेरे ईजेबी के "पोर्टेबल जेएनडीआई नाम" के रूप में कंसोल में ग्लासफ़िश आउटपुट करता है, @EJB एनोटेशन का उपयोग न करें। InitialContext का उपयोग कर लक्ष्य घटक प्राप्त करें। – Bozho
@ बोझो: InitialContext काम किया! :) धन्यवाद –