@Override public void configure(Binder binder) { binder.bind(TLSCertificateChecker.class) .annotatedWith(Names.named(DEFAULT_CHECKER_TYPE)) .toInstance(INSTANCE); } }
@Override public void configure(Binder binder) { JsonConfigProvider.bind(binder, "druid.client.https", SSLClientConfig.class); binder.bind(SSLContext.class).toProvider(SSLContextProvider.class); binder.bind(SSLContext.class).annotatedWith(Global.class).toProvider(SSLContextProvider.class); binder.bind(SSLContext.class).annotatedWith(Client.class).toProvider(SSLContextProvider.class); binder.bind(SSLContext.class).annotatedWith(Router.class).toProvider(SSLContextProvider.class); binder.bind(SSLContext.class).annotatedWith(EscalatedGlobal.class).toProvider(SSLContextProvider.class); binder.bind(SSLContext.class).annotatedWith(EscalatedClient.class).toProvider(SSLContextProvider.class); } }
private void bindPasswordAlgorithms() { MapBinder<String, PasswordAlgorithm> passwordAlgorithms = MapBinder.newMapBinder(binder(), String.class, PasswordAlgorithm.class); passwordAlgorithms.addBinding("sha-1").to(SHA1HashPasswordAlgorithm.class); passwordAlgorithms.addBinding("bcrypt").to(BCryptPasswordAlgorithm.class); bind(PasswordAlgorithm.class).annotatedWith(DefaultPasswordAlgorithm.class).toProvider(DefaultPasswordAlgorithmProvider.class); } }
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(); }
@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.bind(IndexingServiceClient.class).toProvider(Providers.of(null)); binder.bind(new TypeLiteral<IndexTaskClientFactory<ParallelIndexTaskClient>>() {}) .toProvider(Providers.of(null)); 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);
@Override public void configure(Binder binder) binder.bind(PrestoS3ClientFactory.class).in(Scopes.SINGLETON); Multibinder<HiveRecordCursorProvider> recordCursorProviderBinder = newSetBinder(binder, HiveRecordCursorProvider.class); recordCursorProviderBinder.addBinding().to(S3SelectRecordCursorProvider.class).in(Scopes.SINGLETON); recordCursorProviderBinder.addBinding().to(GenericHiveRecordCursorProvider.class).in(Scopes.SINGLETON); binder.bind(HiveWriterStats.class).in(Scopes.SINGLETON); newExporter(binder).export(HiveWriterStats.class).as(generatedNameOf(HiveWriterStats.class, connectorId)); newSetBinder(binder, EventClient.class).addBinding().to(HiveEventClient.class).in(Scopes.SINGLETON); binder.bind(HivePartitionManager.class).in(Scopes.SINGLETON); binder.bind(LocationService.class).to(HiveLocationService.class).in(Scopes.SINGLETON); Multibinder<HivePageSourceFactory> pageSourceFactoryBinder = newSetBinder(binder, HivePageSourceFactory.class); pageSourceFactoryBinder.addBinding().to(OrcPageSourceFactory.class).in(Scopes.SINGLETON); pageSourceFactoryBinder.addBinding().to(DwrfPageSourceFactory.class).in(Scopes.SINGLETON); pageSourceFactoryBinder.addBinding().to(ParquetPageSourceFactory.class).in(Scopes.SINGLETON); pageSourceFactoryBinder.addBinding().to(RcFilePageSourceFactory.class).in(Scopes.SINGLETON); Multibinder<HiveFileWriterFactory> fileWriterFactoryBinder = newSetBinder(binder, HiveFileWriterFactory.class); newExporter(binder).export(OrcFileWriterFactory.class).as(generatedNameOf(OrcFileWriterFactory.class, connectorId)); configBinder(binder).bindConfig(OrcFileWriterConfig.class); fileWriterFactoryBinder.addBinding().to(OrcFileWriterFactory.class).in(Scopes.SINGLETON); fileWriterFactoryBinder.addBinding().to(RcFileFileWriterFactory.class).in(Scopes.SINGLETON);
@Override public void configure(Binder binder) { JsonConfigProvider.bindInstance( binder, Key.get(DruidNode.class, Self.class), node ); binder.bind(Integer.class).annotatedWith(Names.named("port")).toInstance(node.getPlaintextPort()); binder.bind(JettyServerInitializer.class).to(TestJettyServerInitializer.class).in(LazySingleton.class); Jerseys.addResource(binder, SimpleResource.class); LifecycleModule.register(binder, Server.class); } }
@Override protected void configure() { bind( TokenSerialization.class ).to( TokenSerializationImpl.class ); Multibinder<Migration> migrationBinding = Multibinder.newSetBinder( binder(), Migration.class ); migrationBinding.addBinding().to( Key.get( TokenSerialization.class ) ); } }
Key.get(DruidNode.class, Self.class), new DruidNode("test", "localhost", false, null, null, true, false) ); binder.bind(JettyServerInitializer.class).to(JettyServerInit.class).in(LazySingleton.class); Multibinder<ServletFilterHolder> multibinder = Multibinder.newSetBinder( binder, ServletFilterHolder.class ); multibinder.addBinding().toInstance( new ServletFilterHolder() Jerseys.addResource(binder, DefaultResource.class); Jerseys.addResource(binder, DirectlyReturnResource.class); binder.bind(AuthorizerMapper.class).toInstance(AuthTestUtils.TEST_AUTHORIZER_MAPPER); LifecycleModule.register(binder, Server.class);
@Override public void configure(Binder binder) { binder.bind(IntegrationTestingConfig.class) .toProvider(IntegrationTestingConfigProvider.class) .in(ManageLifecycle.class); JsonConfigProvider.bind(binder, "druid.test.config", IntegrationTestingConfigProvider.class); binder.bind(CuratorConfig.class).to(IntegrationTestingCuratorConfig.class); // Bind DruidNode instance to make Guice happy. This instance is currently unused. binder.bind(DruidNode.class).annotatedWith(Self.class).toInstance( new DruidNode("integration-tests", "localhost", false, 9191, null, null, true, false) ); }
@Override public void configure(Binder binder) { configBinder(binder).bindConfig(FileHiveMetastoreConfig.class); binder.bind(ExtendedHiveMetastore.class).annotatedWith(ForCachingHiveMetastore.class).to(FileHiveMetastore.class).in(Scopes.SINGLETON); binder.bind(ExtendedHiveMetastore.class).to(CachingHiveMetastore.class).in(Scopes.SINGLETON); newExporter(binder).export(ExtendedHiveMetastore.class) .as(generatedNameOf(CachingHiveMetastore.class, connectorId)); } }
binder.install(MultibindingsScanner.asModule()); Multibinder<SystemTable> globalTableBinder = Multibinder.newSetBinder(binder, SystemTable.class); globalTableBinder.addBinding().to(NodeSystemTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(QuerySystemTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(TaskSystemTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(CatalogSystemTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(SchemaPropertiesSystemTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(TablePropertiesSystemTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(ColumnPropertiesSystemTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(TransactionsSystemTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(AttributeJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(CatalogJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(ColumnJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(TypesJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(ProcedureColumnJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(ProcedureJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(PseudoColumnJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(SchemaJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(SuperTableJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(SuperTypeJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(TableJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(TableTypeJdbcTable.class).in(Scopes.SINGLETON); globalTableBinder.addBinding().to(UdtJdbcTable.class).in(Scopes.SINGLETON); Multibinder.newSetBinder(binder, Procedure.class);
@Override public void configure() { bind(IDBI.class).toInstance(Mockito.mock(IDBI.class)); bind(IDBI.class).annotatedWith(Names.named(MAIN_RO_DATA_SOURCE_ID)).toInstance(Mockito.mock(IDBI.class)); bind(IAopTester.class).to(AopTesterImpl.class).asEagerSingleton(); bind(TenantInternalApi.class).toInstance(Mockito.mock(TenantInternalApi.class)); bind(NonEntityDao.class).toInstance(Mockito.mock(NonEntityDao.class)); } });
@Override public void configure(Binder binder) { Jerseys.addResource(binder, ChatHandlerResource.class); LifecycleModule.register(binder, ChatHandlerResource.class); if (properties.containsKey(MAX_CHAT_REQUESTS_PROPERTY)) { final int maxRequests = Integer.parseInt(properties.getProperty(MAX_CHAT_REQUESTS_PROPERTY)); JettyBindings.addQosFilter(binder, "/druid/worker/v1/chat/*", maxRequests); } Multibinder.newSetBinder(binder, ServletFilterHolder.class).addBinding().to(TaskIdResponseHeaderFilterHolder.class); /** * We bind {@link DruidNode} annotated with {@link RemoteChatHandler} to {@literal @}{@link Self} {@link DruidNode} * so that same Jetty Server is used for querying as well as ingestion. */ binder.bind(DruidNode.class).annotatedWith(RemoteChatHandler.class).to(Key.get(DruidNode.class, Self.class)); binder.bind(ServerConfig.class).annotatedWith(RemoteChatHandler.class).to(Key.get(ServerConfig.class)); binder.bind(TLSServerConfig.class).annotatedWith(RemoteChatHandler.class).to(Key.get(TLSServerConfig.class)); }
return; binder.bind(Log4jShutdown.class).toInstance((Log4jShutdown) registry); binder.bind(Key.get(Log4jShutterDowner.class, Names.named("ForTheEagerness"))) .to(Log4jShutterDowner.class) .asEagerSingleton();
@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) { JsonConfigProvider.bind(binder, "druid.monitoring", DruidMonitorSchedulerConfig.class); JsonConfigProvider.bind(binder, "druid.monitoring", MonitorsConfig.class); DruidBinders.metricMonitorBinder(binder); // get the binder so that it will inject the empty set at a minimum. binder.bind(DataSourceTaskIdHolder.class).in(LazySingleton.class); binder.bind(EventReceiverFirehoseRegister.class).in(LazySingleton.class); binder.bind(ExecutorServiceMonitor.class).in(LazySingleton.class); // Instantiate eagerly so that we get everything registered and put into the Lifecycle binder.bind(Key.get(MonitorScheduler.class, Names.named("ForTheEagerness"))) .to(MonitorScheduler.class) .asEagerSingleton(); }
@Override public void configure(Binder binder) { 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); } }