io.reactivex.netty.protocol.http.server.RequestHandler#com.netflix.governator.guice.BootstrapModule源码实例Demo

下面列出了io.reactivex.netty.protocol.http.server.RequestHandler#com.netflix.governator.guice.BootstrapModule 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: arcusplatform   文件: Bootstrap.java
public Injector bootstrap() {
   try {
      // Construct the injector
      LifecycleInjectorBuilder builder = LifecycleInjector.builder()
         .withBootstrapModule(new BootstrapModule() {
            @Override
            public void configure(@Nullable BootstrapBinder binder) {
               Preconditions.checkNotNull(binder);
               binder.bindConfigurationProvider().to(AgentConfigurationProvider.class);
            }
         })
         .withAdditionalBootstrapModules(boostrapModules);

      builder.withAdditionalModuleClasses(moduleClasses);
      if(!modules.isEmpty()) {
         builder.withAdditionalModules(modules);
      }

      LifecycleInjector inj = builder.build();
      Injector result = inj.createInjector();
      LifeCycleService.setState(LifeCycle.STARTING_UP, LifeCycle.STARTED);
      return result;
   } catch(Exception ex) {
      throw new BootException("error bootstrapping", ex);
   }
}
 
源代码2 项目: suro   文件: SuroClient.java
private Injector createInjector(final Properties properties) {
    injector = LifecycleInjector
            .builder()
            .withBootstrapModule(
                new BootstrapModule() {
                    @Override
                    public void configure(BootstrapBinder binder) {
                        binder.bindConfigurationProvider().toInstance(
                                new PropertiesConfigurationProvider(properties));
                    }
                }
            )
            .withModules(new SuroClientModule())
            .build().createInjector();
    LifecycleManager manager = injector.getInstance(LifecycleManager.class);

    try {
        manager.start();
    } catch (Exception e) {
        throw new RuntimeException("LifecycleManager cannot start with an exception: " + e.getMessage(), e);
    }
    return injector;
}
 
源代码3 项目: suro   文件: TestSyncSuroClient.java
@Before
public void setup() throws Exception {
    servers = TestConnectionPool.startServers(3);

    final Properties props = new Properties();
    props.setProperty(ClientConfig.LB_SERVER, TestConnectionPool.createConnectionString(servers));
    props.setProperty(ClientConfig.MINIMUM_RECONNECT_TIME_INTERVAL, "1");
    props.setProperty(ClientConfig.RECONNECT_INTERVAL, "1");
    props.setProperty(ClientConfig.RECONNECT_TIME_INTERVAL, "1");
    props.setProperty(ClientConfig.APP, "app");

    injector = LifecycleInjector.builder()
            .withBootstrapModule(new BootstrapModule() {
                @Override
                public void configure(BootstrapBinder binder) {
                    binder.bindConfigurationProvider().toInstance(new PropertiesConfigurationProvider(props));
                    binder.bind(ILoadBalancer.class).to(StaticLoadBalancer.class);
                }
            }).build().createInjector();
    injector.getInstance(LifecycleManager.class).start();
}
 
源代码4 项目: suro   文件: TestAsyncSuroSender.java
@Before
public void setup() throws Exception {
    servers = TestConnectionPool.startServers(3);

    final Properties props = new Properties();
    props.setProperty(ClientConfig.LB_SERVER, TestConnectionPool.createConnectionString(servers));
    props.setProperty(ClientConfig.MINIMUM_RECONNECT_TIME_INTERVAL, "1");
    props.setProperty(ClientConfig.RECONNECT_INTERVAL, "1");
    props.setProperty(ClientConfig.RECONNECT_TIME_INTERVAL, "1");
    props.setProperty(ClientConfig.APP, "app");

    injector = LifecycleInjector.builder()
            .withBootstrapModule(new BootstrapModule() {
                @Override
                public void configure(BootstrapBinder binder) {
                    binder.bindConfigurationProvider().toInstance(new PropertiesConfigurationProvider(props));
                    binder.bind(ILoadBalancer.class).to(StaticLoadBalancer.class);
                }
            }).build().createInjector();
    injector.getInstance(LifecycleManager.class).start();
}
 
private void setupFile(final Properties props, String filePath) throws Exception {
    servers = TestConnectionPool.startServers(3);

    props.put(ClientConfig.LB_SERVER, TestConnectionPool.createConnectionString(servers));

    props.put(ClientConfig.ASYNC_FILEQUEUE_PATH, filePath);
    props.put(ClientConfig.ASYNC_QUEUE_TYPE, "file");

    injector = LifecycleInjector.builder()
            .withBootstrapModule(new BootstrapModule() {
                @Override
                public void configure(BootstrapBinder binder) {
                    binder.bindConfigurationProvider().toInstance(new PropertiesConfigurationProvider(props));
                    binder.bind(ILoadBalancer.class).to(StaticLoadBalancer.class);
                }
            }).build().createInjector();
    injector.getInstance(LifecycleManager.class).start();
}
 
源代码6 项目: suro   文件: TestConnectionOutPool.java
public void setup() throws Exception {
    servers = TestConnectionPool.startServers(1);

    props.put(ClientConfig.LB_SERVER, TestConnectionPool.createConnectionString(servers));
    props.put(ClientConfig.CONNECTION_TIMEOUT, Integer.toString(Integer.MAX_VALUE));

    injector = LifecycleInjector.builder()
            .withBootstrapModule(new BootstrapModule() {
                @Override
                public void configure(BootstrapBinder binder) {
                    binder.bindConfigurationProvider().toInstance(new PropertiesConfigurationProvider(props));
                }
            })
            .withAdditionalModules(new AbstractModule() {
                @Override
                protected void configure() {
                    bind(ILoadBalancer.class).to(StaticLoadBalancer.class);
                }
            })
            .build().createInjector();
    injector.getInstance(LifecycleManager.class).start();

    pool = injector.getInstance(ConnectionPool.class);
    assertEquals(pool.getPoolSize(), 1);
}
 
源代码7 项目: suro   文件: SuroServer.java
public static void create(AtomicReference<Injector> injector, final Properties properties, Module... modules) throws Exception {
    // Create the injector
    injector.set(LifecycleInjector.builder()
            .withBootstrapModule(
                    new BootstrapModule() {
                        @Override
                        public void configure(BootstrapBinder binder) {
                            binder.bindConfigurationProvider().toInstance(
                                    new PropertiesConfigurationProvider(properties));
                        }
                    }
            )
            .withModules(
                    new RoutingPlugin(),
                    new ServerSinkPlugin(),
                    new SuroInputPlugin(),
                    new SuroDynamicPropertyModule(),
                    new SuroModule(),
                    StatusServer.createJerseyServletModule()
            )
            .withAdditionalModules(modules)
            .build().createInjector());
}
 
源代码8 项目: arcusplatform   文件: BootUtils.java
public static Injector initialize(@Nullable IrisHalInternal hal, File basePath, Collection<String> configFiles) {
   Set<File> configs = resolveConfigs(configFiles);

   if (hal != null) {
      IrisHal.start(basePath, configs, hal);
   } else {
      IrisHal.start(basePath, configs);
   }

   Collection<BootstrapModule> bmodules = new LinkedList<>();
   bmodules.addAll(IrisHal.getBootstrapModules());

   Collection<Class<? extends BootstrapModule>> bmoduleClasses = new LinkedList<>();
   bmoduleClasses.addAll(IrisHal.getBootstrapModuleClasses());

   Collection<Module> modules = new LinkedList<>();
   modules.addAll(IrisHal.getApplicationModules());

   Collection<Class<? extends Module>> moduleClasses = new LinkedList<>();
   moduleClasses.addAll(EXTRA);
   moduleClasses.addAll(IrisHal.getApplicationModuleClasses());
   moduleClasses.add(MessagesModule.class);
   moduleClasses.add(ProtocolMessagesModule.class);
   moduleClasses.add(GsonModule.class);
   moduleClasses.add(AgentModule.class);

   Bootstrap.Builder builder = Bootstrap.builder();
   builder.withBootstrapModules(bmodules);
   builder.withBootstrapModuleClasses(bmoduleClasses);
   builder.withModules(modules);
   builder.withModuleClasses(moduleClasses);

   Injector injector = builder.build().bootstrap();
   ServiceLocator.init(GuiceServiceLocator.create(injector));

   Runtime.getRuntime().addShutdownHook(new Thread(IrisShutdownHook.INSTANCE));
   return injector;
}
 
源代码9 项目: arcusplatform   文件: Bootstrap.java
public Injector bootstrap() throws BootstrapException {
   try {
      final Properties merged = mergeProperties();

      LifecycleInjectorBuilder builder = LifecycleInjector.builder()
         .withBootstrapModule(new BootstrapModule() {
            @Override
            public void configure(BootstrapBinder binder) {
               Names.bindProperties(binder, merged);
               binder.bindConfigurationProvider().toInstance(new PropertiesConfigurationProvider(merged));
            }
         })
         .withAdditionalBootstrapModules(boostrapModules);

      if(merged.containsKey(PROP_MODULES)) {
         String [] classnames = StringUtils.split(merged.getProperty(PROP_MODULES));
         Set<Class<? extends Module>> modules = classnamesToClasses(Arrays.asList(classnames));
         modules.addAll(moduleClasses);
         builder.withAdditionalModuleClasses(modules);
      }
      else if(!moduleClasses.isEmpty()) {
         builder.withAdditionalModuleClasses(moduleClasses);
      }
      if(!modules.isEmpty()) {
         builder.withAdditionalModules(modules);
      }

      return builder.build().createInjector();
   } catch(Exception e) {
      throw new BootstrapException("Error bootstrapping the injection context", e);
   }
}
 
源代码10 项目: suro   文件: TestAsyncSuroClient.java
private void setupMemory(final Properties props) throws Exception {
    injector = LifecycleInjector.builder()
            .withBootstrapModule(new BootstrapModule() {
                @Override
                public void configure(BootstrapBinder binder) {
                    binder.bindConfigurationProvider().toInstance(new PropertiesConfigurationProvider(props));
                    binder.bind(ILoadBalancer.class).to(StaticLoadBalancer.class);
                }
            }).build().createInjector();
    injector.getInstance(LifecycleManager.class).start();
}
 
源代码11 项目: suro   文件: TestAsyncSuroClient.java
private void setupFile(final Properties props) throws Exception {
    props.put(ClientConfig.LB_SERVER, TestConnectionPool.createConnectionString(servers));
    props.put(ClientConfig.ASYNC_FILEQUEUE_PATH, tempDir.newFolder().getAbsolutePath());
    props.put(ClientConfig.ASYNC_QUEUE_TYPE, "file");

    injector = LifecycleInjector.builder()
            .withBootstrapModule(new BootstrapModule() {
                @Override
                public void configure(BootstrapBinder binder) {
                    binder.bindConfigurationProvider().toInstance(new PropertiesConfigurationProvider(props));
                    binder.bind(ILoadBalancer.class).to(StaticLoadBalancer.class);
                }
            }).build().createInjector();
    injector.getInstance(LifecycleManager.class).start();
}
 
源代码12 项目: suro   文件: TestConnectionPool.java
private void createInjector() throws Exception {
    props.put(ClientConfig.LB_SERVER, createConnectionString(servers));

    injector = LifecycleInjector.builder()
            .withBootstrapModule(new BootstrapModule() {
                @Override
                public void configure(BootstrapBinder binder) {
                    binder.bindConfigurationProvider().toInstance(new PropertiesConfigurationProvider(props));
                    binder.bind(ILoadBalancer.class).to(StaticLoadBalancer.class);
                }
            }).build().createInjector();
    injector.getInstance(LifecycleManager.class).start();
}
 
源代码13 项目: suro   文件: TestMessageSetProcessor.java
private void testQueue(final Properties props) throws Exception {
    injector = LifecycleInjector.builder()
            .withBootstrapModule(new BootstrapModule() {
                @Override
                public void configure(BootstrapBinder binder) {
                    binder.bindConfigurationProvider().toInstance(new PropertiesConfigurationProvider(props));
                }
            }).build().createInjector();
    injector.getInstance(LifecycleManager.class).start();

    MessageSetProcessor queue = injector.getInstance(MessageSetProcessor.class);

    assertEquals(queue.getQueueSize(), 0);
    assertEquals(queue.getStatus(), ServiceStatus.ALIVE);

    TMessageSet messageSet = TestConnectionPool.createMessageSet(100);
    assertEquals(queue.process(messageSet).getResultCode(), ResultCode.OK);

    assertEquals(queue.getQueueSize(), 1);
    assertEquals(queue.poll(1, TimeUnit.MILLISECONDS), messageSet);
    assertEquals(queue.getQueueSize(), 0);

    queue.stopTakingTraffic();
    assertEquals(queue.process(messageSet).getResultCode(), ResultCode.OTHER_ERROR);

    queue.startTakingTraffic();
    assertEquals(queue.getStatus(), ServiceStatus.ALIVE);

    assertEquals(queue.process(messageSet).getResultCode(), ResultCode.OK);

    injector.getInstance(LifecycleManager.class).close();
}
 
源代码14 项目: karyon   文件: AbstractKaryonServer.java
public final void startWithAdditionalBootstrapModules(BootstrapModule... additionalBootstrapModules) {
    BootstrapModule[] applicableBootstrapModules = this.bootstrapModules;
    if (null != additionalBootstrapModules && additionalBootstrapModules.length != 0) {
        applicableBootstrapModules = Arrays.copyOf(bootstrapModules, bootstrapModules.length + additionalBootstrapModules.length);
        System.arraycopy(additionalBootstrapModules, 0, applicableBootstrapModules, bootstrapModules.length, additionalBootstrapModules.length);
    }

    injector = newInjector(applicableBootstrapModules);

    startLifecycleManager();
    _start();
}
 
源代码15 项目: karyon   文件: Karyon.java
/**
 * Creates a new {@link KaryonServer} that has a single HTTP server instance which delegates all request
 * handling to {@link RequestHandler}.
 * The {@link HttpServer} is created using {@link KaryonTransport#newHttpServer(int, HttpRequestHandler)}
 *
 * @param port Port for the server.
 * @param handler Request Handler
 * @param bootstrapModules Additional bootstrapModules if any.
 *
 * @return {@link KaryonServer} which is to be used to start the created server.
 */
public static KaryonServer forRequestHandler(int port, final RequestHandler<ByteBuf, ByteBuf> handler,
                                             BootstrapModule... bootstrapModules) {
    HttpServer<ByteBuf, ByteBuf> httpServer =
            KaryonTransport.newHttpServer(port, new RequestHandler<ByteBuf, ByteBuf>() {
                @Override
                public Observable<Void> handle(HttpServerRequest<ByteBuf> request,
                                               HttpServerResponse<ByteBuf> response) {
                    return handler.handle(request, response);
                }
            });
    return new RxNettyServerBackedServer(httpServer, bootstrapModules);
}
 
源代码16 项目: karyon   文件: Karyon.java
public static BootstrapModule toBootstrapModule(final Module... modules) {
    if (null == modules) {
        return null;
    }
    return new BootstrapModule() {
        @Override
        public void configure(BootstrapBinder binder) {
            binder.includeModules(modules);
        }

    };
}
 
源代码17 项目: karyon   文件: Karyon.java
@SafeVarargs
public static BootstrapModule toBootstrapModule(final Class<? extends Module>... moduleClasses) {
    if (null == moduleClasses) {
        return null;
    }
    return new BootstrapModule() {
        @Override
        public void configure(BootstrapBinder binder) {
            binder.include(Lists.newArrayList(moduleClasses));
        }

    };
}
 
源代码18 项目: karyon   文件: Karyon.java
public static BootstrapModule toBootstrapModule(final Class<? extends Module> moduleClass) {
    if (null == moduleClass) {
        return null;
    }
    return new BootstrapModule() {
        @Override
        public void configure(BootstrapBinder binder) {
            binder.include(moduleClass);
        }

    };
}
 
源代码19 项目: arcusplatform   文件: IrisHal.java
public static Collection<? extends BootstrapModule> getBootstrapModules() {
   return get().getBootstrapModules();
}
 
源代码20 项目: arcusplatform   文件: IrisHal.java
public static Collection<Class<? extends BootstrapModule>> getBootstrapModuleClasses() {
   return get().getBootstrapModuleClasses();
}
 
源代码21 项目: arcusplatform   文件: AbstractIrisHal.java
@Override
public Collection<? extends BootstrapModule> getBootstrapModules() {
   Collection<? extends BootstrapModule> instModules = new LinkedList<>();
   addAdditionalBootstrapModules(instModules);
   return instModules;
}
 
源代码22 项目: arcusplatform   文件: AbstractIrisHal.java
@Override
public Collection<Class<? extends BootstrapModule>> getBootstrapModuleClasses() {
   Collection<Class<? extends BootstrapModule>> classModules = new LinkedList<>();
   addAdditionalBootstrapModuleClasses(classModules);
   return classModules;
}
 
源代码23 项目: arcusplatform   文件: AbstractIrisHal.java
protected void addAdditionalBootstrapModules(Collection<? extends BootstrapModule> modules) {
}
 
源代码24 项目: arcusplatform   文件: AbstractIrisHal.java
protected void addAdditionalBootstrapModuleClasses(Collection<Class<? extends BootstrapModule>> modules) {
}
 
源代码25 项目: arcusplatform   文件: AbstractIrisHal.java
protected void addBootstrap(Collection<Class<? extends BootstrapModule>> classModules, @Nullable Class<? extends BootstrapModule> clazz) {
   if (clazz != null) {
      classModules.add(clazz);
   }
}
 
源代码26 项目: arcusplatform   文件: AbstractIrisHal.java
protected void addBootstrap(Collection<BootstrapModule> modules, @Nullable BootstrapModule module) {
   if (module != null) {
      modules.add(module);
   }
}
 
源代码27 项目: arcusplatform   文件: Bootstrap.java
public Builder withBootstrapModuleClasses(Collection<Class<? extends BootstrapModule>> bootstrapModules) {
   Preconditions.checkArgument(bootstrapModules != null, "bootstrap modules cannot be null");
   this.bootstrapModuleClasses.addAll(bootstrapModules);
   return this;
}
 
源代码28 项目: arcusplatform   文件: Bootstrap.java
public Builder withBootstrapModules(Collection<BootstrapModule> bootstrapModules) {
   Preconditions.checkArgument(bootstrapModules != null, "bootstrap modules cannot be null");
   this.bootstrapModules.addAll(bootstrapModules);
   return this;
}
 
源代码29 项目: arcusplatform   文件: Bootstrap.java
public Builder withBootstrapModules(BootstrapModule... modules) {
   if(modules != null) {
      return withBootstrapModules(Arrays.asList(modules));
   }
   return this;
}
 
源代码30 项目: arcusplatform   文件: Bootstrap.java
public Builder withBootstrapModules(Collection<BootstrapModule> bootstrapModules) {
   if(bootstrapModules  != null) {
      this.bootstrapModules.addAll(bootstrapModules);
   }
   return this;
}