@Override public void stop() throws Exception { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); } };
@Override public void start() throws Exception { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); }
@Override public void start() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); }
@Override public void stop() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); } };
@Override public void start() throws Exception { vertx.executeBlocking(fut -> { thread.set(Thread.currentThread()); assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); assertTrue(Thread.currentThread().getName().startsWith(poolName + "-")); fut.complete(); }, onSuccess(v -> { vertx.undeploy(context.deploymentID()); })); } }, new DeploymentOptions().setWorkerPoolName(poolName), onSuccess(v -> {}));
@Override public void start() throws Exception { thread.set(Thread.currentThread()); assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); assertTrue(Thread.currentThread().getName().startsWith(poolName + "-")); context.runOnContext(v -> { vertx.undeploy(context.deploymentID()); }); } }, new DeploymentOptions().setWorker(true).setWorkerPoolName(poolName), onSuccess(deployment::set));
@Test public void testThread() { String poolName = TestUtils.randomAlphaString(10); WorkerExecutor worker = vertx.createSharedWorkerExecutor(poolName); AtomicBoolean onVertxThread = new AtomicBoolean(); AtomicBoolean onWorkerThread = new AtomicBoolean(); AtomicBoolean onEventLoopThread = new AtomicBoolean(); AtomicReference<String> threadName = new AtomicReference<>(); worker.executeBlocking(fut -> { onVertxThread.set(Context.isOnVertxThread()); onWorkerThread.set(Context.isOnWorkerThread()); onEventLoopThread.set(Context.isOnEventLoopThread()); threadName.set(Thread.currentThread().getName()); fut.complete(null); }, ar -> { testComplete(); }); // Use regular assertions because the thread name does not start with "vert.x-" // and it confuses the VertxTestBase asserts assertWaitUntil(() -> threadName.get() != null); assertTrue(onVertxThread.get()); assertTrue(onWorkerThread.get()); assertFalse(onEventLoopThread.get()); assertTrue(threadName.get().startsWith(poolName + "-")); }
@Test public void testStandardRightThread() throws Exception { assertFalse(Context.isOnVertxThread()); Verticle verticle = new AbstractVerticle() { @Override public void start() throws Exception { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); } @Override public void stop() throws Exception { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); } }; vertx.deployVerticle(verticle, onSuccess(res -> { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); vertx.undeploy(res, onSuccess(res2 -> { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); testComplete(); })); })); await(); }
@Test public void testWorkerRightThread() throws Exception { assertFalse(Context.isOnVertxThread()); Verticle verticle = new AbstractVerticle() { @Override public void start() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); } @Override public void stop() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); } }; vertx.deployVerticle(verticle, new DeploymentOptions().setWorker(true), onSuccess(res -> { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); vertx.undeploy(res, onSuccess(res2 -> { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); testComplete(); })); })); await(); }
@Override public void start() throws Exception { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); }
@Override public void start() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); }
@Override public void start() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); }
@Override public void stop() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); } };
@Override public void start() throws Exception { vertx.executeBlocking(fut -> { thread.set(Thread.currentThread()); assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); assertTrue(Thread.currentThread().getName().startsWith(poolName + "-")); fut.complete(); }, onSuccess(v -> { vertx.undeploy(context.deploymentID()); })); } }, new DeploymentOptions().setWorkerPoolName(poolName), onSuccess(v -> {}));
@Override public void start() throws Exception { thread.set(Thread.currentThread()); assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); assertTrue(Thread.currentThread().getName().startsWith(poolName + "-")); context.runOnContext(v -> { vertx.undeploy(context.deploymentID()); }); } }, new DeploymentOptions().setWorker(true).setWorkerPoolName(poolName), onSuccess(deployment::set));
@Override public void stop() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); } };
@Override public void stop() throws Exception { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); } };
@Test public void testThread() { String poolName = TestUtils.randomAlphaString(10); WorkerExecutor worker = vertx.createSharedWorkerExecutor(poolName); AtomicBoolean onVertxThread = new AtomicBoolean(); AtomicBoolean onWorkerThread = new AtomicBoolean(); AtomicBoolean onEventLoopThread = new AtomicBoolean(); AtomicReference<String> threadName = new AtomicReference<>(); worker.executeBlocking(fut -> { onVertxThread.set(Context.isOnVertxThread()); onWorkerThread.set(Context.isOnWorkerThread()); onEventLoopThread.set(Context.isOnEventLoopThread()); threadName.set(Thread.currentThread().getName()); fut.complete(null); }, ar -> { testComplete(); }); // Use regular assertions because the thread name does not start with "vert.x-" // and it confuses the VertxTestBase asserts assertWaitUntil(() -> threadName.get() != null); assertTrue(onVertxThread.get()); assertTrue(onWorkerThread.get()); assertFalse(onEventLoopThread.get()); assertTrue(threadName.get().startsWith(poolName + "-")); }
@Test public void testStandardRightThread() throws Exception { assertFalse(Context.isOnVertxThread()); Verticle verticle = new AbstractVerticle() { @Override public void start() throws Exception { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); } @Override public void stop() throws Exception { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); } }; vertx.deployVerticle(verticle, onSuccess(res -> { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); vertx.undeploy(res, onSuccess(res2 -> { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); testComplete(); })); })); await(); }
@Test public void testMTWorkerRightThread() throws Exception { assertFalse(Context.isOnVertxThread()); Verticle verticle = new AbstractVerticle() { @Override public void start() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); } @Override public void stop() throws Exception { assertTrue(Context.isOnVertxThread()); assertTrue(Context.isOnWorkerThread()); assertFalse(Context.isOnEventLoopThread()); } }; vertx.deployVerticle(verticle, new DeploymentOptions().setWorker(true).setMultiThreaded(true), onSuccess(res -> { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); vertx.undeploy(res, onSuccess(res2 -> { assertTrue(Context.isOnVertxThread()); assertFalse(Context.isOnWorkerThread()); assertTrue(Context.isOnEventLoopThread()); testComplete(); })); })); await(); }