public void deployVerticle( String verticleName, DeploymentOptions options, Handler<AsyncResult<String>> completionHandler) { ContextImpl currentContext = vertx.getOrCreateContext(); ClassLoader cl = getClassLoader(options.getIsolationGroup()); int pos = verticleName.indexOf(':'); if (pos == -1) { throw new IllegalArgumentException("verticleName must start with prefix"); } String prefix = verticleName.substring(0, pos); if (pos + 1 >= verticleName.length()) { throw new IllegalArgumentException("Invalid name: " + verticleName); } String actualName = verticleName.substring(pos + 1); VerticleFactory verticleFactory = verticleFactories.get(prefix); if (verticleFactory == null) { // Use default Java verticle factory verticleFactory = DEFAULT_VERTICLE_FACTORY; } try { Verticle verticle = verticleFactory.createVerticle(actualName, cl); if (verticle == null) { reportFailure( new NullPointerException("VerticleFactory::createVerticle returned null"), currentContext, completionHandler); } else { doDeploy(verticle, options, currentContext, completionHandler); } } catch (Exception e) { reportFailure(e, currentContext, completionHandler); } }