@Override public void start() throws Exception { vertx.deployVerticle( "io.vertx.example.core.http.sharing.HttpServerVerticle", new DeploymentOptions().setInstances(2)); } }
@Override public void start(Future<Void> startFuture) throws Exception { vertx.deployVerticle("java:" + ChildVerticle.class.getName(), ar -> { if (ar.succeeded()) { startFuture.complete(null); } else { ar.cause().printStackTrace(); } }); } }
@Override public void start(Future<Void> startFuture) throws Exception { vertx.deployVerticle("java:" + OtherSourceVerticle.class.getName().replace('.', '/') + ".java", new DeploymentOptions(), ar -> { if (ar.succeeded()) { startFuture.complete((Void) null); } else { ar.cause().printStackTrace(); } }); } }
@Test public void testDeployUsingClassName() throws Exception { vertx.deployVerticle("java:" + TestVerticle.class.getCanonicalName(), ar -> { assertTrue(ar.succeeded()); testComplete(); }); await(); }
@Test public void testExtraClasspathLoaderAlreadyInParentLoader() throws Exception { String dir = createClassOutsideClasspath("MyVerticle"); URLClassLoader loader = new URLClassLoader(new URL[]{new File(dir).toURI().toURL()}, Thread.currentThread().getContextClassLoader()); List<String> extraClasspath = Arrays.asList(dir); ClassLoader currentCL = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(loader); try { vertx.deployVerticle("java:" + ExtraCPVerticleAlreadyInParentLoader.class.getCanonicalName(), new DeploymentOptions().setIsolationGroup("somegroup"). setExtraClasspath(extraClasspath), ar -> { assertTrue(ar.succeeded()); testComplete(); }); } finally { Thread.currentThread().setContextClassLoader(currentCL); } await(); }
@Test public void testRaceConditionWithWebsocketClientWorker() throws Exception { CompletableFuture<Context> fut = new CompletableFuture<>(); vertx.deployVerticle(new AbstractVerticle() { @Override public void start() throws Exception { fut.complete(context); } }, new DeploymentOptions().setWorker(true), ar -> { if (ar.failed()) { fut.completeExceptionally(ar.cause()); } }); testRaceConditionWithWebsocketClient(fut.get()); }
@Test public void testBlockCheckDefault() throws Exception { Verticle verticle = new AbstractVerticle() { @Override public void start() throws InterruptedException { Thread.sleep(6000); testComplete(); } }; vertx.deployVerticle(verticle); await(); blockedThreadWarning.expectMessage("vert.x-eventloop-thread", VertxOptions.DEFAULT_MAX_EVENT_LOOP_EXECUTE_TIME, VertxOptions.DEFAULT_MAX_EVENT_LOOP_EXECUTE_TIME_UNIT); }
@Test public void testAsyncDeployFailureCalledSynchronously() throws Exception { MyAsyncVerticle verticle = new MyAsyncVerticle(f -> f.fail(new Exception("foobar")), null); vertx.deployVerticle(verticle, ar -> { assertFalse(ar.succeeded()); assertEquals("foobar", ar.cause().getMessage()); testComplete(); }); await(); }
@Test public void testNullIsolationGroup() throws Exception { vertx.deployVerticle("java:" + TestVerticle.class.getCanonicalName(), new DeploymentOptions().setIsolationGroup(null), ar -> { assertTrue(ar.succeeded()); assertEquals(1, TestVerticle.instanceCount.get()); testComplete(); }); await(); }
@Test(expected = IllegalArgumentException.class) public void testDeployInstanceSetIsolatedClasses() throws Exception { vertx.deployVerticle(new MyVerticle(), new DeploymentOptions().setIsolatedClasses(Arrays.asList("foo"))); }
@Test public void testDeployAsSource() throws Exception { String sourceFile = SourceVerticle.class.getName().replace('.', '/'); sourceFile += ".java"; vertx.deployVerticle("java:" + sourceFile, onSuccess(res -> { testComplete(); })); await(); }
public static void main(String[] args) { JsonObject zkConfig = configureClusterManager(); ClusterManager zookeeperClusterManager = new ZookeeperClusterManager(zkConfig); VertxOptions options = configureVertx(zookeeperClusterManager); Vertx.clusteredVertx(options, res -> { if (res.succeeded()) { Vertx vertx = res.result(); DeploymentOptions deploymentOptions = new DeploymentOptions().setInstances(2); vertx.deployVerticle("verticle.SenderVerticle", deploymentOptions); System.out.println("Sender verticle deployed"); } }); }
private void testDeployThrowableInStart(int startAction, Class<? extends Throwable> expectedThrowable) throws Exception { MyVerticle verticle = new MyVerticle(startAction, MyVerticle.NOOP); vertx.deployVerticle(verticle, ar -> { assertFalse(ar.succeeded()); assertEquals(expectedThrowable, ar.cause().getClass()); assertEquals("FooBar!", ar.cause().getMessage()); assertTrue(vertx.deploymentIDs().isEmpty()); testComplete(); }); await(); }
/** * Deploy verticles when the Spring application is ready. */ @EventListener void deployVerticles(ApplicationReadyEvent event) { vertx.deployVerticle(new HelloVerticle()); if (port != null) { JsonObject config = new JsonObject().put("port", port); vertx.deployVerticle(new HttpVerticle(), new DeploymentOptions().setConfig(config)); } } }
@Test public void testAsyncDeployCalledSynchronously() throws Exception { MyAsyncVerticle verticle = new MyAsyncVerticle(f -> f.complete(null), f -> f.complete(null)); vertx.deployVerticle(verticle, ar -> { assertTrue(ar.succeeded()); testComplete(); }); await(); }
@Test public void testDeployUsingClassAndConfig() throws Exception { JsonObject config = generateJSONObject(); vertx.deployVerticle("java:" + TestVerticle.class.getCanonicalName(), new DeploymentOptions().setConfig(config), ar -> { assertTrue(ar.succeeded()); testComplete(); }); await(); }
@Test(expected = IllegalArgumentException.class) public void testDeployInstanceSetExtraClasspath() throws Exception { vertx.deployVerticle(new MyVerticle(), new DeploymentOptions().setExtraClasspath(Arrays.asList("foo"))); }
@Test public void testDeployFromTestThreadNoHandler() throws Exception { MyVerticle verticle = new MyVerticle(); vertx.deployVerticle(verticle); assertWaitUntil(() -> vertx.deploymentIDs().size() == 1); }
public static void main(String[] args) { JsonObject zkConfig = configureClusterManager(); ClusterManager zookeeperClusterManager = new ZookeeperClusterManager(zkConfig); VertxOptions options = configureVertx(zookeeperClusterManager); Vertx.clusteredVertx(options, res -> { if (res.succeeded()) { Vertx vertx = res.result(); DeploymentOptions deploymentOptions = new DeploymentOptions().setInstances(2); vertx.deployVerticle("verticle.ConsumerVerticle", deploymentOptions); System.out.println("consumer verticle deployed"); } }); }
private void testUndeployThrowableInStop(int stopAction, Class<? extends Throwable> expectedThrowable) throws Exception { MyVerticle verticle = new MyVerticle(MyVerticle.NOOP, stopAction); vertx.deployVerticle(verticle, ar -> { assertTrue(ar.succeeded()); vertx.undeploy(ar.result(), ar2 -> { assertFalse(ar2.succeeded()); assertEquals(expectedThrowable, ar2.cause().getClass()); assertEquals("BooFar!", ar2.cause().getMessage()); assertTrue(vertx.deploymentIDs().isEmpty()); testComplete(); }); }); await(); }