2016-07-03 7 views
8

पर स्मैक और ओपनफायर के बीच रूटिंग त्रुटि मेरे पास एक जावा एप्लिकेशन है जो स्मैक 4.1.7 को कार्यान्वित करता है जिसे मैं ओपनफायर 4.0.2 के लिए नकली क्लाइंट के रूप में उपयोग कर रहा हूं। फिलहाल, ओपनफायर मेरे लोकहोस्ट पर चल रहा है। स्मैक के लिए लॉग इन और इस कनेक्शन के साथ ठीक से प्रमाणित कर सकते हैं:स्थानीयहोस्ट

XMPPTCPConnectionConfiguration conf = XMPPTCPConnectionConfiguration.builder() 
     .setSecurityMode(ConnectionConfiguration.SecurityMode.disabled) 
     .setServiceName(XMPP_HOST_NAME) // equals xmppDomain on server 
     .setUsernameAndPassword("user1", "pwd1") 
     .setResource("tester") 
     .setDebuggerEnabled(true) 
     .build(); 

अब जब स्मैक बनाने या किसी MUC, अनुरोध समयबाह्य (SmackException $ NoResponseException) और Openfire में शामिल होने की कोशिश करता है लॉग निम्नलिखित:

2016.07.03 18:58:54 org.jivesoftware.openfire.spi.RoutingTableImpl - 
Unable to route packet. Packet should only be sent to available sessions and the 
route is not available. 
<presence id="WrkXH-6" from="[email protected]/tester" to="[email protected]/tester"> 
    <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="NfJ3flI83zSdUDzCEICtbypursw="/> 
</presence> 
2016.07.03 18:58:54 org.jivesoftware.openfire.spi.RoutingTableImpl - 
Failed to route packet to JID: [email protected]/tester packet: 
<presence id="WrkXH-6" from="[email protected]/tester" to="[email protected]/tester"> 
    <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="NfJ3flI83zSdUDzCEICtbypursw="/> 
</presence> 

मैंने सर्वर की तरफ और क्लाइंट साइड पर "localhost", "127.0.0.1" और मेरी मशीन का नाम XMPP_HOST_NAME के ​​रूप में उपयोग किया है, और मुझे एक ही त्रुटि मिल रही है। किसी भी सहायता की सराहना की जाएगी।

+0

मुझे खेद है, क्या आपने उपयोगकर्ता के साथ लॉगिन किया है? लोकलहोस्ट काम नहीं करेगा, मशीन का नाम (लेकिन आपको नियंत्रण कक्ष में ओपनफायर सर्वर नाम पर जांच करनी होगी) काम करेगा। मेरे लिए एक ही व्यक्ति से उपस्थित होने के लिए अजीब लगता है लेकिन मुझे – MrPk

+0

हां जांचना है, लॉगिन ठीक काम करता है। यह दोनों स्थानीयहोस्ट, 127.0.0.1 और मशीन का नाम (कोई फर्क नहीं पड़ता कि ओपनफायर साइड बीटीडब्ल्यू पर कॉन्फ़िगर किया गया है) के साथ काम करता है। कनेक्शन स्थापित करते समय स्मैक पक्ष पर एक चेतावनी है: org.jivesoftware.smack.util.DNS सुलझाने के लिए चेतावनी: स्थानीयहोस्ट के लिए एसआरवी रिकॉर्ड्स को पुन: स्थापित करते समय अपवाद। '_xmpp- (सर्वर | क्लाइंट) ._ tcp' DNS SRV रिकॉर्ड्स जोड़ने पर विचार करें, लेकिन उस कनेक्शन से प्रमाणीकरण और प्रमाणीकरण ठीक है। – guik

+0

हो सकता है कि आपके पास प्रॉक्सी हो और आपको स्थानीयहोस्ट (हाँ, 127.0.0.1) को अपवाद के रूप में जोड़ना होगा ... – MrPk

उत्तर

0

मुझे समस्या और एक बग मिला। को संभालने के लिए कैसे:

Openfire 2 मान हैं:

http.connection.timeout 
http.socket.timeout 

दोनों अगर गुण में उपलब्ध नहीं 2000/3000/5000 millisecs का डिफ़ॉल्ट मान के साथ ऊपर setted।

इसलिए इस मान को व्यवस्थापक कंसोल (या डेटाबेस) द्वारा उच्चतम पर सेट करने की आवश्यकता है, जैसे आवश्यक होने पर 15000/20000 या उससे अधिक।

अधिक, Openfire में 4.0.2 में (विज्ञापन शायद पुराने संस्करणों भी) index.jsp वहाँ rssfeed (डिफ़ॉल्ट रूप से सक्षम) लेकिन यह कॉल करने के लिए 3000 उन मूल्यों को रीसेट कर देगा जाँच करने के लिए एक फोन है, तो मूल रूप से टाइमआउट बेकार होगा।

झूठी

rss.enabled 

को rssfeed सेट अक्षम करने के लिए और फिर Openfire पुनरारंभ करें।