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

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

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

Context.isEventLoopContext介绍

[英]Is the current context an event loop context?

NOTE! when running blocking code using io.vertx.core.Vertx#executeBlocking(Handler,Handler) from a standard (not worker) verticle, the context will still an event loop context and this this#isEventLoopContext()will return true.
[中]当前上下文是否为事件循环上下文?
笔记当使用io运行阻塞代码时。维特斯。果心Vertx#ExecuteBlock(Handler,Handler)从标准(非工作者)垂直链接,上下文仍将是事件循环上下文,此#isEventLoopContext()将返回true。

代码示例

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

stack.set(true);
stream.endHandler(v -> {
 assertTrue(Vertx.currentContext().isEventLoopContext());
 assertNull(stack.get());
 if (done.incrementAndGet() == 2) {
 assertTrue(Vertx.currentContext().isEventLoopContext());
 assertNull(stack.get());
 ThreadLocal<Object> stack2 = new ThreadLocal<>();
 stack2.set(true);
 server.close(v -> {
  assertTrue(Vertx.currentContext().isEventLoopContext());
  assertNull(stack2.get());
  if (done.incrementAndGet() == 2) {

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

stack.set(true);
stream.endHandler(v -> {
 assertTrue(Vertx.currentContext().isEventLoopContext());
 assertNull(stack.get());
 if (done.incrementAndGet() == 2) {
 assertTrue(Vertx.currentContext().isEventLoopContext());
 assertNull(stack.get());
 ThreadLocal<Object> stack2 = new ThreadLocal<>();
 stack2.set(true);
 server.close(v -> {
  assertTrue(Vertx.currentContext().isEventLoopContext());
  assertNull(stack2.get());
  if (done.incrementAndGet() == 2) {

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

@Test
public void testConsumerHandlesCompletionAsynchronously() {
 MessageConsumer<Object> consumer = eb.consumer(ADDRESS1);
 ThreadLocal<Object> stack = new ThreadLocal<>();
 stack.set(true);
 consumer.completionHandler(v -> {
  assertNull(stack.get());
  assertTrue(Vertx.currentContext().isEventLoopContext());
  testComplete();
 });
 consumer.handler(msg -> {
 });
 await();
}

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

stack.set(true);
stream.endHandler(v -> {
 assertTrue(Vertx.currentContext().isEventLoopContext());
 assertNull(stack.get());
 if (done.incrementAndGet() == 2) {
 assertTrue(Vertx.currentContext().isEventLoopContext());
 assertNull(stack.get());
 ThreadLocal<Object> stack2 = new ThreadLocal<>();
 stack2.set(true);
 server.close(v -> {
  assertTrue(Vertx.currentContext().isEventLoopContext());
  assertNull(stack2.get());
  if (done.incrementAndGet() == 2) {

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

@Test
public void testTimeoutStreamEndCallbackAsynchronously() {
 TimeoutStream stream = vertx.timerStream(200);
 ThreadLocal<Object> stack = new ThreadLocal<>();
 stack.set(true);
 stream.endHandler(v2 -> {
  assertTrue(Vertx.currentContext().isEventLoopContext());
  assertNull(stack.get());
  testComplete();
 });
 stream.handler(id -> {
 });
 await();
}

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

@Test
public void testConsumerHandlesCompletionAsynchronously2() {
 MessageConsumer<Object> consumer = eb.consumer(ADDRESS1);
 consumer.handler(msg -> {
 });
 ThreadLocal<Object> stack = new ThreadLocal<>();
 stack.set(true);
 consumer.completionHandler(v -> {
  assertNull(stack.get());
  assertTrue(Vertx.currentContext().isEventLoopContext());
  testComplete();
 });
 await();
}

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

@Test
public void testMultipleServerClose() {
 this.server = vertx.createHttpServer(new HttpServerOptions().setPort(DEFAULT_HTTP_PORT));
 AtomicInteger times = new AtomicInteger();
 // We assume the endHandler and the close completion handler are invoked in the same context task
 ThreadLocal stack = new ThreadLocal();
 stack.set(true);
 server.websocketStream().endHandler(v -> {
  assertNull(stack.get());
  assertTrue(Vertx.currentContext().isEventLoopContext());
  times.incrementAndGet();
 });
 server.close(ar1 -> {
  assertNull(stack.get());
  assertTrue(Vertx.currentContext().isEventLoopContext());
  server.close(ar2 -> {
   server.close(ar3 -> {
    assertEquals(1, times.get());
    testComplete();
   });
  });
 });
 await();
}

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

@Test
public void testMultipleServerClose() {
 this.server = vertx.createNetServer();
 AtomicInteger times = new AtomicInteger();
 // We assume the endHandler and the close completion handler are invoked in the same context task
 ThreadLocal stack = new ThreadLocal();
 stack.set(true);
 server.connectStream().endHandler(v -> {
  assertNull(stack.get());
  assertTrue(Vertx.currentContext().isEventLoopContext());
  times.incrementAndGet();
 });
 server.close(ar1 -> {
  assertNull(stack.get());
  assertTrue(Vertx.currentContext().isEventLoopContext());
  server.close(ar2 -> {
   server.close(ar3 -> {
    assertEquals(1, times.get());
    testComplete();
   });
  });
 });
 await();
}

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

@Test
public void testEndHandler() {
 ThreadLocal<Object> stack = new ThreadLocal<>();
 stack.set(true);
 peer2 = vertx.createDatagramSocket(new DatagramSocketOptions());
 peer2.listen(1234, "127.0.0.1", ar -> {
  assertTrue(ar.succeeded());
  peer2.endHandler(v -> {
   assertTrue(Vertx.currentContext().isEventLoopContext());
   assertNull(stack.get());
   testComplete();
  });
  peer2.close();
 });
 await();
}

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

@Test
public void testMultipleServerClose() {
 this.server = vertx.createHttpServer(new HttpServerOptions().setPort(DEFAULT_HTTP_PORT));
 AtomicInteger times = new AtomicInteger();
 // We assume the endHandler and the close completion handler are invoked in the same context task
 ThreadLocal stack = new ThreadLocal();
 stack.set(true);
 server.requestStream().endHandler(v -> {
  assertNull(stack.get());
  assertTrue(Vertx.currentContext().isEventLoopContext());
  times.incrementAndGet();
 });
 server.close(ar1 -> {
  assertNull(stack.get());
  assertTrue(Vertx.currentContext().isEventLoopContext());
  server.close(ar2 -> {
   server.close(ar3 -> {
    assertEquals(1, times.get());
    testComplete();
   });
  });
 });
 await();
}

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

@Test
public void testConsumerHandlesCompletionAsynchronously1() {
 startNodes(2);
 MessageConsumer<Object> consumer = vertices[0].eventBus().consumer(ADDRESS1);
 ThreadLocal<Object> stack = new ThreadLocal<>();
 stack.set(true);
 consumer.completionHandler(v -> {
  assertTrue(Vertx.currentContext().isEventLoopContext());
  assertNull(stack.get());
  testComplete();
 });
 consumer.handler(msg -> {});
 await();
}

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

@Test
public void testAsyncFileCloseHandlerIsAsync() throws Exception {
 String fileName = "some-file.dat";
 createFileWithJunk(fileName, 100);
 AsyncFile file = vertx.fileSystem().openBlocking(testDir + pathSep + fileName, new OpenOptions());
 ThreadLocal stack = new ThreadLocal();
 stack.set(true);
 file.close(ar -> {
  assertNull(stack.get());
  assertTrue(Vertx.currentContext().isEventLoopContext());
  testComplete();
 });
 await();
}

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

@Test
public void testDeployFromTestThread() throws Exception {
 MyVerticle verticle = new MyVerticle();
 vertx.deployVerticle(verticle, ar -> {
  assertDeployment(1, verticle, null, ar);
  assertFalse(verticle.startContext.isWorkerContext());
  assertTrue(verticle.startContext.isEventLoopContext());
  testComplete();
 });
 await();
}

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

@Test
public void testConsumerHandlesCompletionAsynchronously2() {
 startNodes(2);
 MessageConsumer<Object> consumer = vertices[0].eventBus().consumer(ADDRESS1);
 consumer.handler(msg -> {
 });
 ThreadLocal<Object> stack = new ThreadLocal<>();
 stack.set(true);
 consumer.completionHandler(v -> {
  assertTrue(Vertx.currentContext().isEventLoopContext());
  assertNull(stack.get());
  testComplete();
 });
 await();
}

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

assertTrue(ctx.isEventLoopContext());

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

@Test
public void testDeployWorkerWithConfig() throws Exception {
 MyVerticle verticle = new MyVerticle();
 JsonObject conf = generateJSONObject();
 vertx.deployVerticle(verticle, new DeploymentOptions().setConfig(conf).setWorker(true), ar -> {
  assertDeployment(1, verticle, conf, ar);
  assertTrue(verticle.startContext.isWorkerContext());
  assertFalse(verticle.startContext.isEventLoopContext());
  vertx.undeploy(ar.result(), ar2 -> {
   assertTrue(ar2.succeeded());
   assertEquals(verticle.startContext, verticle.stopContext);
   testComplete();
  });
 });
 await();
}

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

@Test
public void testBlockingCreate() {
 TestVerticle verticle1 = new TestVerticle();
 TestVerticleFactory fact1 = new TestVerticleFactory("aa", verticle1);
 fact1.blockingCreate = true;
 vertx.registerVerticleFactory(fact1);
 String name1 = "aa:myverticle1";
 vertx.deployVerticle(name1, new DeploymentOptions(), ar -> {
  assertTrue(ar.succeeded());
  assertEquals(name1, fact1.identifier);
  assertTrue(fact1.blockingCreate);
  assertTrue(fact1.createWorkerThread);
  assertTrue(fact1.createContext.isEventLoopContext());
  testComplete();
 });
 await();
}

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

assertTrue(ctx.isEventLoopContext());
vertx.executeBlocking(future -> {
 assertSame(ctx, vertx.getOrCreateContext());

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

@Test
public void testTimeoutStreamEndCallbackAsynchronously() {
 TimeoutStream stream = vertx.timerStream(200);
 ThreadLocal<Object> stack = new ThreadLocal<>();
 stack.set(true);
 stream.endHandler(v2 -> {
  assertTrue(Vertx.currentContext().isEventLoopContext());
  assertNull(stack.get());
  testComplete();
 });
 stream.handler(id -> {
 });
 await();
}

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

@Test
public void testDeployFromTestThread() throws Exception {
 MyVerticle verticle = new MyVerticle();
 vertx.deployVerticle(verticle, ar -> {
  assertDeployment(1, verticle, null, ar);
  assertFalse(verticle.startContext.isMultiThreadedWorkerContext());
  assertFalse(verticle.startContext.isWorkerContext());
  assertTrue(verticle.startContext.isEventLoopContext());
  testComplete();
 });
 await();
}

相关文章