2010-04-13 13 views
5

मैं इस अजीब समस्या के साथ कुछ मदद प्राप्त करने की उम्मीद कर रहा हूं। हम जैकोब नाम सर्वर चला रहे हैं और मेरे पास एक साधारण क्लाइंट है जिसका उपयोग मैं कनेक्ट करने और शानदार कॉरबा वूडू करने का प्रयास करने के लिए कर रहा हूं। नाम सर्वर चल रहा है, लेकिन जब मैं अपना जावा ऐप शुरू करने का प्रयास करता हूं, तो मुझे "Connection failure" error (org.omg.CORBA.COMM_FAILURE, minor code 201, "caused by java.net.ConnectionException: Connection refused: connect") मिलता है।जैकब नामकरण सेवा से कनेक्ट करने का प्रयास करते समय त्रुटि

यहां अजीब हिस्सा है। त्रुटि रिपोर्ट करता है कि यह डिफ़ॉल्ट पोर्ट 900 का उपयोग करके कनेक्ट करने का प्रयास कर रहा है, लेकिन मैं नाम सर्वर द्वारा उपयोग किए जाने वाले किसी से मेल खाने के लिए नाम सेवा के पोर्ट नंबर को ओवरराइड करने का प्रयास करने के लिए एक तर्क में गुजर रहा हूं। मेरे जावा आदेश इस तरह है:

java -classpath . HelloClient -Djava.endorsed.dirs="bla bla bla" <br> 
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB 
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton 
-DORBInitRef.NameService=corbaloc::localhost:2809/StandardNS/NameServer-POA/_root 

मैं भी पहली राजधानी डी के बिना मापदंडों की कोशिश की (मैं इसे दोनों तरीकों से देखा है और मैं अंतर पता नहीं है)।

अब, अगर मैं -ORBInitialPort 2809 डालता हूं, तो क्लाइंट कनेक्ट करने का प्रयास करने लगता है, लेकिन फिर मुझे corba.OBJECT_NOT_EXIST त्रुटि मिलती है।

मैं किसी भी मदद या सलाह का उपयोग कर सकता हूं।

+0

वाह, कोई भी अनुमान लगाने वाला नहीं है? मुझे निराशा होती है: \ – Dave

+0

क्या आप अपना जावा कोड पोस्ट कर सकते हैं जहां आप नाम सर्वर से कनेक्शन स्थापित करने का प्रयास कर रहे हैं? –

उत्तर

3

कनेक्शन अस्वीकार कर दिया गया। यह फ़ायरवॉल/प्रोग्राम की तरह लगता है जैसे समस्या नहीं चल रहा है। telnet <machine> 2809 आज़माएं। आपको से कनेक्ट किया जाना चाहिए और इनकार नहीं किया जाना चाहिए, अगर सब कुछ ठीक से चल रहा है/सक्षम है।

मैं यूनिक्स क्लाइंट पर चल रहा हूं इसलिए पथ यूनिक्स शैली का उपयोग करते हैं।

  1. jacORB ठीक से स्थापित किया गया? जैसे {JAVA_HOME}/JRE orb.properties फ़ाइल से nameservice प्रविष्टि ($ में मिलता है/lib/ मैं का उपयोग करें "ORBInitRef.NameService=corbaloc::localhost:2809/NameServer" के रूप में "Nameserver" उत्पादन नाम सर्वर और नहीं अन्य "मानक की स्ट्रिंग पर प्रयोग किया जाता है। ... "

    गुण फ़ाइलों में अन्य परिवर्तन यूनिक्स शैली के लिए पथ सेट कर रहे हैं (यानी ई: \ NS_Ref ->/tmp/NS_Ref) jacorb.naming.ior_filename=/tmp/NS_Ref

1a http स्थापना। : // गुण फ़ाइल में संकल्प के संबंध में कुछ भी प्रतीत नहीं होता ग्राहक पक्ष पर जी।

1 बी।नोट:

    (कुछ भी नहीं पता चलता)
  1. : के साथ एनएस शुरू: ns -DOAPort=2809

    लॉग दिखाएगा: 2010-05-27 10:00:47.777 FINE Created socket listener on 0.0.0.0/0.0.0.0:2809 2010-05-27 10:00:47.777 FINE Using port 2809 रनिंग: $ lsof | grep 2809 java 27529 jbsymolo 15u IPv6 693300 TCP *:2809 (LISTEN) $ lsof -Pnl +M -i6 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME Naming_Se 9678 1000 7u IPv6 45779 TCP *:51148 (LISTEN) java 27959 1000 15u IPv6 696092 TCP *:2809 (LISTEN)

    नहीं चल रहा है एनएस शुरू होने पर यह लॉग इन करेगा जहां से यह गुण पढ़ता है और इसे किसी भी त्रुटि को फेंकना नहीं चाहिए। यदि आपकी संपत्ति फ़ाइलों में समस्याएं हैं।

  2. वीएम तर्क। सिस्टम गुणों को सेट करने के लिए-डी का उपयोग किया जाता है। कोई जावा कोड तब सिस्टम.getProperty() के माध्यम से परिभाषित किसी भी संपत्ति तक पहुंच सकता है। यहां तक ​​कि हालांकि मैं भी "गैर-डी" का इस्तेमाल किया देखा है, मैं डी का उपयोग कर रहे

    -DORBInitRef.NameService = corbaloc :: स्थानीय होस्ट: 2809/NameService -Dorg.omg.CORBA .ORBClass = org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass = org.jacorb.orb.ORBSingleton

जब ग्रहण में ग्राहक चल रहा है, मैं कंसोल में निम्न देखें :

May 27, 2010 10:01:06 AM org.jacorb.config.JacORBConfiguration init 
INFO: base configuration loaded from file /usr/lib/java/jdk1.6.0_18/jre/lib/orb.properties 
... 
2010-05-27 10:01:09.836 FINE Trying to connect to 127.0.0.1:2809 with timeout=90000. 
2010-05-27 10:01:09.844 INFO Connected to 127.0.0.1:2809 from local port 45745 
2010-05-27 10:01:09.846 FINE wrote 12 bytes to 127.0.0.1:2809 
... 

अन्य पढ़ने/लिखने वाले ट्रैफ़िक को छोड़कर

1

मैं कोड के बाकी देखे बिना यकीन नहीं किया जा सकता है, लेकिन मैं बहुत यकीन है कि आप होने के लिए InitRef स्ट्रिंग को बदलने की जरूरत कर रहा हूँ:

-DORBInitRef.NameService=corbaloc::localhost:2809 

जब अपने ग्राहक जोड़ता है, यह आप देना चाहिए नामकरण सेवा के लिए मूल नामकरण संदर्भ और फिर आप वांछित सर्वर ऑब्जेक्ट पर जाने के लिए NameContext पेड़ को पार कर सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे