ttl-integrations/vertx3-ttl-integration/README.md
io.vertx.core.Handler使用TtlVertxHandler来修饰传入的Handler。
io.vertx.core.Future修饰了的Vert.x执行器组件如下:
io.vertx.core.Futureio.vertx.core.impl.future.FutureImplio.vertx.core.http.impl.HttpClientImplVertxFutureTtlTransformlet.java。示例代码:
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);
eventbus上传递TTL值java.lang.Runnable使用TtlRunnable来修饰传入的Runnable。
io.netty.util.concurrent.SingleThreadEventExecutor