@Override public Emitter apply(String s) { return injector.getInstance(Key.get(Emitter.class, Names.named(s))); } }
@Override public void configure(Binder binder) { binder.bind(TLSCertificateChecker.class) .annotatedWith(Names.named(DEFAULT_CHECKER_TYPE)) .toInstance(INSTANCE); } }
@Override public void configure(Binder binder) { binder.bind( new TypeLiteral<SeekableStreamIndexTaskClientFactory<KinesisIndexTaskClient>>() { } ).to(KinesisIndexTaskClientFactory.class).in(LazySingleton.class); JsonConfigProvider.bind(binder, "druid.kinesis", AWSCredentialsConfig.class, Names.named("kinesis")); } }
public void installTenantDao() { bind(TenantDao.class).to(DefaultTenantDao.class).asEagerSingleton(); bind(TenantDao.class).annotatedWith(Names.named(NO_CACHING_TENANT)).to(NoCachingTenantDao.class).asEagerSingleton(); bind(TenantBroadcastDao.class).to(DefaultTenantBroadcastDao.class).asEagerSingleton(); bind(TenantBroadcastDao.class).annotatedWith(Names.named(NO_CACHING_TENANT)).to(NoCachingTenantBroadcastDao.class).asEagerSingleton(); bind(InternalCallContextFactory.class).annotatedWith(Names.named(NO_CACHING_TENANT)).toProvider(NoCachingInternalCallContextFactoryProvider.class).asEagerSingleton(); }
bind(InputBuffer.class).to(InputBufferImpl.class); bind(NodeId.class).toProvider(NodeIdProvider.class); bind(Semaphore.class).annotatedWith(Names.named("JournalSignal")).toInstance(new Semaphore(0)); bind(OkHttpClient.class).annotatedWith(Names.named("systemHttpClient")).toProvider(SystemOkHttpClientProvider.class).asEagerSingleton(); bind(ExecutorService.class).annotatedWith(Names.named("proxiedRequestsExecutorService")).toProvider(ProxiedRequestsExecutorService.class).asEagerSingleton();
@Override public void configure(Binder binder) binder.bindConstant().annotatedWith(Names.named("serviceName")).to("druid/tool"); binder.bindConstant().annotatedWith(Names.named("servicePort")).to(9999); binder.bindConstant().annotatedWith(Names.named("tlsServicePort")).to(-1); binder.bind(DruidProcessingConfig.class).toInstance( new DruidProcessingConfig() binder.bind(ColumnConfig.class).to(DruidProcessingConfig.class);
@Override public void configure(Binder binder) binder.bindConstant().annotatedWith(Names.named("serviceName")).to("druid/middlemanager"); binder.bindConstant().annotatedWith(Names.named("servicePort")).to(8091); binder.bindConstant().annotatedWith(Names.named("tlsServicePort")).to(8291); JsonConfigProvider.bind(binder, "druid.worker", WorkerConfig.class); binder.bind(TaskRunner.class).to(ForkingTaskRunner.class); binder.bind(ForkingTaskRunner.class).in(LazySingleton.class); binder, "druid.indexer.task.rowIngestionMeters.type", Key.get(RowIngestionMetersFactory.class), Key.get(DropwizardRowIngestionMetersFactory.class) ); final MapBinder<String, RowIngestionMetersFactory> rowIngestionMetersHandlerProviderBinder = PolyBind.optionBinder(binder, Key.get(RowIngestionMetersFactory.class)); rowIngestionMetersHandlerProviderBinder .addBinding("dropwizard") .to(DropwizardRowIngestionMetersFactory.class) .in(LazySingleton.class); binder.bind(DropwizardRowIngestionMetersFactory.class).in(LazySingleton.class); .to(MiddleManagerJettyServerInitializer.class) .in(LazySingleton.class); Jerseys.addResource(binder, WorkerResource.class);
bind(RedissonClient.class).annotatedWith(Names.named(REDIS_CACHE_CLIENT)).toProvider(RedissonCacheClientProvider.class).asEagerSingleton(); bind(CacheManager.class).toProvider(Redis107CacheManagerProvider.class).asEagerSingleton(); } else { bind(RedissonClient.class).annotatedWith(Names.named(REDIS_CACHE_CLIENT)).toProvider(Providers.<RedissonClient>of(null)); bind(CacheManager.class).toProvider(Eh107CacheManagerProvider.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(ImmutableAccountCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(AccountBCDCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(RecordIdCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(AccountRecordIdCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(TenantRecordIdCacheLoader.class).asEagerSingleton();
public JSitemap(final String path, final Optional<String> baseurl, final WebPageProvider wpp) { this.path = path; this.baseurl = baseurl; this.wpp = binder -> binder .bind(Key.get(WebPageProvider.class, Names.named(path))).toInstance(wpp); }
.to(Key.get(CuratorServiceAnnouncer.class, Names.named(NAME))) .in(LazySingleton.class); PolyBind.createChoiceWithDefault(binder, INTERNAL_DISCOVERY_PROP, Key.get(DruidNodeAnnouncer.class), CURATOR_KEY); Key.get(DruidNodeDiscoveryProvider.class), CURATOR_KEY ); PolyBind.optionBinder(binder, Key.get(DruidNodeDiscoveryProvider.class)) .addBinding(CURATOR_KEY) .to(CuratorDruidNodeDiscoveryProvider.class) .in(LazySingleton.class); PolyBind.optionBinder(binder, Key.get(DruidNodeAnnouncer.class)) .addBinding(CURATOR_KEY) .to(CuratorDruidNodeAnnouncer.class) .in(LazySingleton.class);
.newSetBinder(binder, Object.class, Names.named("hbs.helpers")); helpers.forEach(h -> helpersBinding.addBinding().to(h)); .toInstance(engine);
@Override public void configure(Binder binder) { binder.bind(RequestLogger.class).toProvider(RequestLoggerProvider.class).in(ManageLifecycle.class); binder.bind(Key.get(String.class, Names.named("serviceName"))).toInstance("some service"); binder.bind(Key.get(Integer.class, Names.named("servicePort"))).toInstance(0); binder.bind(Key.get(Integer.class, Names.named("tlsServicePort"))).toInstance(-1); JsonConfigProvider.bind(binder, propertyPrefix, RequestLoggerProvider.class); } }
@Override public void configure(Binder binder) { binder.bindConstant().annotatedWith(Names.named("serviceName")).to("druid/router"); binder.bindConstant().annotatedWith(Names.named("servicePort")).to(8888); binder.bindConstant().annotatedWith(Names.named("tlsServicePort")).to(9088); JsonConfigProvider.bind(binder, "druid.router", TieredBrokerConfig.class); JsonConfigProvider.bind(binder, "druid.router.avatica.balancer", AvaticaConnectionBalancer.class); JsonConfigProvider.bind(binder, "druid.router.managementProxy", ManagementProxyConfig.class); binder.bind(CoordinatorRuleManager.class); LifecycleModule.register(binder, CoordinatorRuleManager.class); binder.bind(TieredBrokerHostSelector.class).in(ManageLifecycle.class); binder.bind(QueryHostFinder.class).in(LazySingleton.class); binder.bind(new TypeLiteral<List<TieredBrokerSelectorStrategy>>() { }) .toProvider(TieredBrokerSelectorStrategiesProvider.class) .in(LazySingleton.class); binder.bind(QueryCountStatsProvider.class).to(AsyncQueryForwardingServlet.class).in(LazySingleton.class); binder.bind(JettyServerInitializer.class).to(RouterJettyServerInitializer.class).in(LazySingleton.class); Jerseys.addResource(binder, RouterResource.class); LifecycleModule.register(binder, RouterResource.class); LifecycleModule.register(binder, Server.class); DiscoveryModule.register(binder, Self.class); bindAnnouncer( binder, DiscoverySideEffectsProvider.builder(NodeType.ROUTER).build() ); } },
@Override protected void configureServlets() { bind(TestServlet.class) .annotatedWith(Names.named("foo")) .to(TestServlet.class) .in(Scopes.SINGLETON); bind(TestServlet.class) .annotatedWith(Names.named("bar")) .to(TestServlet.class) .in(Scopes.SINGLETON); serve("/foo/*").with(Key.get(TestServlet.class, Names.named("foo"))); serve("/bar/*").with(Key.get(TestServlet.class, Names.named("bar"))); // TODO: add a filter(..) call and validate it is correct } });
protected LinkedBindingBuilder<String> bindEurekaInstanceConfigNamespace() { return bind(String.class).annotatedWith(Names.named(InternalEurekaClientModule.INSTANCE_CONFIG_NAMESPACE_KEY)); }
@Override protected void configure() { bind(ConfigurationService.class).asEagerSingleton(); bind(SidecarService.class).asEagerSingleton(); bind(CollectorService.class).asEagerSingleton(); bind(ConfigurationVariableService.class).asEagerSingleton(); install(new FactoryModuleBuilder() .implement(AdministrationFilter.class, Names.named("collector"), CollectorAdministrationFilter.class) .implement(AdministrationFilter.class, Names.named("configuration"), ConfigurationAdministrationFilter.class) .implement(AdministrationFilter.class, Names.named("os"), OsAdministrationFilter.class) .implement(AdministrationFilter.class, Names.named("status"), StatusAdministrationFilter.class) .build(AdministrationFilter.Factory.class)); registerRestControllerPackage(getClass().getPackage().getName()); addPermissions(SidecarRestPermissions.class); addPeriodical(PurgeExpiredSidecarsThread.class); addPeriodical(PurgeExpiredConfigurationUploads.class); addAuditEventTypes(SidecarAuditEventTypes.class); final Multibinder<Migration> binder = Multibinder.newSetBinder(binder(), Migration.class); binder.addBinding().to(V20180212165000_AddDefaultCollectors.class); binder.addBinding().to(V20180323150000_AddSidecarUser.class); binder.addBinding().to(V20180601151500_AddDefaultConfiguration.class); serviceBinder().addBinding().to(EtagService.class).in(Scopes.SINGLETON); } }