2016-09-06 12 views
3

Я пытаюсь использовать ниже etcd рамки в SparkJavaEtcd интеграция с каркасом API SparkJava REST для Java

https://github.com/AdoHe/etcd4j

код выглядит следующим образом:

get("/hello",(request, response) -> { 

String value;   


try { 
    EtcdClient client = new EtcdClient(URI.create("http://127.0.0.1:2379")); 
    String key = "/message"; 
    value = client.get(key); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

return value;}); 

Однако, когда я пытаюсь получить доступ к url как указано ниже http://localhost:4567/hello

Я получаю следующую ошибку

HTTP ERROR: 500 
Problem accessing /hello. Reason: 
java.lang.NoSuchFieldError: INSTANCE 
Powered by Jetty:// 9.3.6.v20151106 

Что мне здесь не хватает? etcd работает при использовании в качестве автономного проекта с функцией main(), однако не работает с SparkJava. Есть ли какой-либо клиент etcd, который работает с SparkJava?

ответ

3

Я получил его на работу со следующим Etcd клиента:

<dependency> 
     <groupId>org.mousio</groupId> 
     <artifactId>etcd4j</artifactId> 
     <version>2.12.0</version> 
    </dependency> 

Вот код:

private static String etcdGet(Request request, Response response) { 
    EtcdClient client = new EtcdClient(URI.create("http://<ip-address>:2379")); 
    String key = "/message"; 

    try { 
     EtcdResponsePromise<EtcdKeysResponse> value; 
     value = client.get(key).send(); 
     return value.get().getNode().getValue(); 
    } catch (Exception e) { 
     System.out.println(e); 
     throw new RuntimeException(e); 
    } 
} 
+0

Это работает! Благодарю. – suresh

 Смежные вопросы

  • Нет связанных вопросов^_^