Not found a suitable jvm consul client. Mostly inspired by consul-api.
- The core
consul-api
with minial dependencies, onlynetty-buffer
andslf4j-api
. consul-codec-jackson
andconsul-codec-gson
both supported, also possible and easy to replace with other json libraries.consul-transport-http
andconsult-transport-reactor-netty
for two default transport implements.
For maven pom
<project xmlns="http://maven.apache.org/POM/4.0.0">
<!-- ...-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.zenliucn</groupId>
<artifactId>consul</artifactId>
<version>0.0.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.zenliucn</groupId>
<artifactId>consul-codec-jackson</artifactId>
</dependency>
<dependency>
<groupId>io.github.zenliucn</groupId>
<artifactId>consul-transport-reactor-netty</artifactId>
</dependency>
</dependencies>
</project>
For java code
package some;
import cn.zenliu.java.consul.Client;
public class Main {
public static void main(String[] args) {
try (var client = Client.create(null, "http://127.0.01:8500", false)) {
//fetch an agent client
var agent = client.agent(null, null); //no token, no extra parameter.
try {
//request then member api
System.out.println(agent.members().get());
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
- Add basic test cases.
- Add more recently API from Consul.
- Add more test cases.
Current just finish basic API, lack of testing cases. public API may not stable, until reached v1.0.0
.
see consul-api
License as GPL v2 with classpath exception
.