मुझे निम्नलिखित जेएमएस उदाहरण के जेएनडीआई भाग को समझने में कठिनाई हो रही है।जेएनडीआई लुकअप इस जेएमएस उदाहरण में कैसे काम करता है?
public static void main(String[] args) {
try {
// Gets the JNDI context
Context jndiContext = new InitialContext();
// Looks up the administered objects
ConnectionFactory connectionFactory = (ConnectionFactory)
jndiContext.lookup("jms/javaee7/ConnectionFactory");
Destination queue = (Destination) jndiContext.lookup("jms/javaee7/Queue");
// Sends a text message to the queue
try (JMSContext context = connectionFactory.createContext()) {
context.createProducer().send(queue, "Text message sent at " + new Date());
}
} catch (NamingException e) {
e.printStackTrace();
}
}
पुस्तक जहां मुझे यह उदाहरण मिला, इस जेएनडीआई लुकअप को संभव बनाने के लिए सेटअप का उल्लेख नहीं किया गया। उदाहरण के लिए,
ConnectionFactory connectionFactory = (ConnectionFactory)
jndiContext.lookup("jms/javaee7/ConnectionFactory");
में वहाँ इतना है कि jndiContext
एक ConnectionFactory
वस्तु पर भी नियंत्रण प्राप्त कर सकते हैं चल रहा है सर्वर किसी तरह का होना चाहिए? आम तौर पर, जेएनडीआई लुकअप के लिए काम करने के लिए किस तरह के सेटअप की आवश्यकता होती है?
बहुत बहुत धन्यवाद।
यह बिना किसी सेटअप के काम करेगा, जब तक कि यह एक स्टैंडअलोन प्रोग्राम की बजाय वेबपैप का हिस्सा न हो। आपको परिभाषित करने की आवश्यकता होगी। शुरुआत के लिए एक प्रारंभिक संदर्भ कारखाना और एक संदर्भ यूआरएल। उदाहरण के लिए ओरेकल जेबीडीआई ट्यूटोरियल देखें। – EJP
@EJP 'कनेक्शन फैक्टरी' लोड 'jndi.properties' कैसे करता है? जबकि एक [ldap उदाहरण] है (https://docs.oracle.com/javase/jndi/tutorial/ldap/misc/url.html#MULTI) मुझे जेएनडीआई ट्यूटोरियल में कोई समाधान नहीं मिला जो इस प्रश्न का उत्तर देता है। – Thufir