ttl-integrations/vertx3-ttl-integration/README-EN.md
io.vertx.core.HandlerUse TtlVertxHandler to decorate Handler。
io.vertx.core.FutureAt present, TTL agent has decorated below Vertx callback components(io.vertx.core.Future) implementation:
io.vertx.core.Futureio.vertx.core.impl.future.FutureImplio.vertx.core.http.impl.HttpClientImplVertxFutureTtlTransformlet.java。Sample code:
Vertx vertx = Vertx.vertx();
//build channel
ManagedChannel channel = VertxChannelBuilder
.forAddress(vertx, "localhost", 8080)
.usePlaintext()
.build();
// set in parent thread
TransmittableThreadLocal<String> context = new TransmittableThreadLocal<>();
context.set("value-set-in-parent");
//init stub
io.grpc.stub.XXX stub = XXX.newVertxStub(channel);
HelloRequest request = HelloRequest.newBuilder().setName("Julien").build();
//init handler
Handler<AsyncResult<String>> handler = event -> {
// read in callback, value is "value-set-in-parent"
context.get();
if (event.succeeded()) {
//do something
} else {
// find exception
}
};
// extra work, create decorated TtlVertxHandler object
TtlVertxHandler<AsyncResult<String>> ttlVertxHandler = TtlVertxHandler.get(handler);
//send request
stub.sayHello(request).onComplete(ttlVertxHandler);
java.lang.RunnableUse TtlRunnable to decorateRunnable。
io.netty.util.concurrent.SingleThreadEventExecutorNettySingleThreadEventExecutorTtlTransformlet.java。