package examples;
import io.vertx.core.json.JsonObject;
import io.vertx.redis.client.Redis;
import io.vertx.servicediscovery.Record;
import io.vertx.servicediscovery.ServiceDiscovery;
import io.vertx.servicediscovery.ServiceReference;
import io.vertx.servicediscovery.types.RedisDataSource;
public class RedisDataSourceExamples {
public void example1(ServiceDiscovery discovery) {
Record record = RedisDataSource.createRecord(
"some-redis-data-source-service",
new JsonObject().put("url", "localhost"),
new JsonObject().put("some-metadata", "some-value")
);
discovery.publish(record, ar -> {
});
}
public void example2(ServiceDiscovery discovery) {
discovery.getRecord(
new JsonObject().put("name", "some-redis-data-source-service"), ar -> {
if (ar.succeeded() && ar.result() != null) {
ServiceReference reference = discovery.getReference(ar.result());
Redis client = reference.getAs(Redis.class);
reference.release();
}
});
}
public void example3(ServiceDiscovery discovery) {
RedisDataSource.getRedisClient(discovery,
new JsonObject().put("name", "some-redis-data-source-service"),
ar -> {
if (ar.succeeded()) {
Redis client = ar.result();
ServiceDiscovery.releaseServiceObject(discovery, client);
}
});
}
}