2015-11-05 12 views
8

मैं हाल ही में elasticsearch 1.7 से स्विच 2.0 करने के लिए बनाया है और मैं जिस तरह से आप सेटअप ग्राहक बदल गया है देखा। मैं प्रलेखन के माध्यम से चला गया और किसी कारण से ग्राहक हमेशा शून्य है। मैं सोच रहा था कि मैंने इसे सही तरीके से सेट किया है या नहीं।जावा elasticsearch ग्राहक हमेशा अशक्त

यहाँ मेरी कोड है:

Client client = null; 

    try { 
     client = TransportClient.builder().build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); 
    } catch (Exception e) { 
     Logger.log(e); 
    } finally { 
     client.close(); 
     try { 
      conn.close(); 
     } catch (SQLException e) { 
      Logger.log(e); 
     } 
    } 
+0

आप एक अपवाद मिलता है? आपका वाक्य रचना है, क्योंकि यह –

+0

मैं इस त्रुटि मिल रही किया जाना चाहिए: 'java.lang.NoSuchMethodError:) com.google.common.util.concurrent.MoreExecutors.directExecutor (Ljava/util/समवर्ती/निर्वाहक;' –

+0

यह पूरी तरह से अमरूद है संबंधित और एक ही समय में कई अमरूद संस्करणों के साथ एक समस्या से संबंधित है। मैं आपको एक साफ संकलन करने का सुझाव देता हूं। यदि यह एक युद्ध फ़ाइल है तो वेबपैस के अंदर प्रोजेक्ट के फ़ोल्डर को हटाएं और पुन: नियोजित करें। ES –

उत्तर

14

के रूप में टिप्पणी में बताया गया है, लेकिन एक छोटा सा विस्तार में अधिक: Elasticsearch 2.0 अमरूद 18.0 (https://github.com/elastic/elasticsearch/pull/7593 देखें) का उपयोग करता है। तो java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concu‌rrent/Executor; जैसी त्रुटियों को ठीक करने के लिए, सुनिश्चित करें कि गुवा 18.0 निर्भरता के रूप में और अन्य संस्करणों का उपयोग न करें।

+0

elasticsearch 2.4.1 के साथ गुवा 20.0 का उपयोग करने का प्रयास किया है और यह काम करता है! लेकिन यह काफी अजीब बात है कि अमरूद 15.0 ईएस 2.3.5 के साथ काम कर रहा है। आईएमएचओ, ईएस 2.0 या उच्चतर के उन्नयन के दौरान गुवा 18.0 या उच्चतर का उपयोग करना अभी भी एक अच्छा विचार है। – quickbrownfox