Пример #1
0
 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);
   }
 }