io.vertx.core.Context.addCloseHook()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(5.7k)|赞(0)|评价(0)|浏览(151)

本文整理了Java中io.vertx.core.Context.addCloseHook()方法的一些代码示例,展示了Context.addCloseHook()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Context.addCloseHook()方法的具体详情如下:
包路径:io.vertx.core.Context
类名称:Context
方法名:addCloseHook

Context.addCloseHook介绍

暂无

代码示例

代码示例来源:origin: eclipse-vertx/vert.x

@Override
 public void start(Future<Void> startFuture) throws Exception {
  this.context.addCloseHook(closeable);
  startFuture.fail("Fail to deploy.");
 }
};

代码示例来源:origin: eclipse-vertx/vert.x

private <T> LocalRegistrationResult<T> addLocalRegistration(String address, HandlerRegistration<T> registration,
                             boolean replyHandler, boolean localOnly) {
 Objects.requireNonNull(address, "address");
 Context context = Vertx.currentContext();
 boolean hasContext = context != null;
 if (!hasContext) {
  // Embedded
  context = vertx.getOrCreateContext();
 }
 registration.setHandlerContext(context);
 HandlerHolder<T> holder = new HandlerHolder<>(metrics, registration, replyHandler, localOnly, context);
 ConcurrentCyclicSequence<HandlerHolder> handlers = new ConcurrentCyclicSequence<HandlerHolder>().add(holder);
 ConcurrentCyclicSequence<HandlerHolder> actualHandlers = handlerMap.merge(
  address,
  handlers,
  (old, prev) -> old.add(prev.first()));
 if (hasContext) {
  HandlerEntry entry = new HandlerEntry<>(address, registration);
  context.addCloseHook(entry);
 }
 boolean newAddress = handlers == actualHandlers;
 return new LocalRegistrationResult<>(holder, newAddress);
}

代码示例来源:origin: io.vertx/vertx-core

@Override
 public void start(Future<Void> startFuture) throws Exception {
  this.context.addCloseHook(closeable);
  startFuture.fail("Fail to deploy.");
 }
};

代码示例来源:origin: io.vertx/vertx-rx-java

public void addCloseHook(Closeable hook) { 
 delegate.addCloseHook(hook);
}

代码示例来源:origin: io.vertx/vertx-core

private <T> LocalRegistrationResult<T> addLocalRegistration(String address, HandlerRegistration<T> registration,
                             boolean replyHandler, boolean localOnly) {
 Objects.requireNonNull(address, "address");
 Context context = Vertx.currentContext();
 boolean hasContext = context != null;
 if (!hasContext) {
  // Embedded
  context = vertx.getOrCreateContext();
 }
 registration.setHandlerContext(context);
 HandlerHolder<T> holder = new HandlerHolder<>(metrics, registration, replyHandler, localOnly, context);
 ConcurrentCyclicSequence<HandlerHolder> handlers = new ConcurrentCyclicSequence<HandlerHolder>().add(holder);
 ConcurrentCyclicSequence<HandlerHolder> actualHandlers = handlerMap.merge(
  address,
  handlers,
  (old, prev) -> old.add(prev.first()));
 if (hasContext) {
  HandlerEntry entry = new HandlerEntry<>(address, registration);
  context.addCloseHook(entry);
 }
 boolean newAddress = handlers == actualHandlers;
 return new LocalRegistrationResult<>(holder, newAddress);
}

代码示例来源:origin: vert-x3/vertx-rx

public void addCloseHook(Closeable hook) { 
 delegate.addCloseHook(hook);
}

代码示例来源:origin: vietj/advanced-vertx-guide

public ContextCloseHook(Vertx vertx) {
 this.context = vertx.getOrCreateContext();
 // Get notified when this context closes
 context.addCloseHook(this);
}

代码示例来源:origin: io.vertx/vertx-jdbc-client

private void setupCloseHook() {
 Context ctx = Vertx.currentContext();
 if (ctx != null && ctx.owner() == vertx) {
  ctx.addCloseHook(holder::close);
 }
}

代码示例来源:origin: io.vertx/vertx-cassandra-client

public CassandraClientImpl(Vertx vertx, String dataSourceName, CassandraClientOptions cassandraClientOptions) {
 this.vertx = vertx;
 cassandraHolder = lookupHolder(dataSourceName, cassandraClientOptions);
 Context ctx = Vertx.currentContext();
 if (ctx != null && ctx.owner() == vertx) {
  ctx.addCloseHook(v -> {
   cassandraHolder.close();
   v.handle(Future.succeededFuture());
  });
 }
}

代码示例来源:origin: mewna/catnip

@Override
public <T> MessageConsumer<T> on(@Nonnull final EventType<T> type) {
  final MessageConsumer<T> consumer = catnip().dispatchManager().createConsumer(type.key());
  context.addCloseHook(consumer::unregister);
  return consumer;
}

代码示例来源:origin: io.reactiverse/reactive-pg-client

public PgConnectionFactory(Context context,
              boolean registerCloseHook,
              PgConnectOptions options) {
 hook = this::close;
 this.registerCloseHook = registerCloseHook;
 ctx = context;
 if (registerCloseHook) {
  ctx.addCloseHook(hook);
 }
 NetClientOptions netClientOptions = new NetClientOptions(options);
 // Make sure ssl=false as we will use STARTLS
 netClientOptions.setSsl(false);
 this.sslMode = options.getSslMode();
 this.hostnameVerificationAlgorithm = netClientOptions.getHostnameVerificationAlgorithm();
 this.trustOptions = netClientOptions.getTrustOptions();
 this.host = options.getHost();
 this.port = options.getPort();
 this.database = options.getDatabase();
 this.username = options.getUser();
 this.password = options.getPassword();
 this.cachePreparedStatements = options.getCachePreparedStatements();
 this.pipeliningLimit = options.getPipeliningLimit();
 this.isUsingDomainSocket = options.isUsingDomainSocket();
 this.client = context.owner().createNetClient(netClientOptions);
}

代码示例来源:origin: reactiverse/reactive-pg-client

public PgConnectionFactory(Context context,
              boolean registerCloseHook,
              PgConnectOptions options) {
 hook = this::close;
 this.registerCloseHook = registerCloseHook;
 ctx = context;
 if (registerCloseHook) {
  ctx.addCloseHook(hook);
 }
 NetClientOptions netClientOptions = new NetClientOptions(options);
 // Make sure ssl=false as we will use STARTLS
 netClientOptions.setSsl(false);
 this.sslMode = options.getSslMode();
 this.hostnameVerificationAlgorithm = netClientOptions.getHostnameVerificationAlgorithm();
 this.trustOptions = netClientOptions.getTrustOptions();
 this.host = options.getHost();
 this.port = options.getPort();
 this.database = options.getDatabase();
 this.username = options.getUser();
 this.password = options.getPassword();
 this.cachePreparedStatements = options.getCachePreparedStatements();
 this.pipeliningLimit = options.getPipeliningLimit();
 this.isUsingDomainSocket = options.isUsingDomainSocket();
 this.client = context.owner().createNetClient(netClientOptions);
}

相关文章