@Override protected void configure() { bind(ConfigManager.class).to(DefaultConfigManager.class).in(Singleton.class); bind(ConfigFactoryManager.class).to(DefaultConfigFactoryManager.class).in(Singleton.class); bind(ConfigRegistry.class).to(DefaultConfigRegistry.class).in(Singleton.class); bind(ConfigFactory.class).to(DefaultConfigFactory.class).in(Singleton.class); bind(ConfigUtil.class).in(Singleton.class); bind(HttpUtil.class).in(Singleton.class); bind(ConfigServiceLocator.class).in(Singleton.class); bind(RemoteConfigLongPollService.class).in(Singleton.class); } }
@Override public void configure(Binder binder) { MapBinder<String, RowDecoderFactory> decoderFactoriesByName = MapBinder.newMapBinder(binder, String.class, RowDecoderFactory.class); decoderFactoriesByName.addBinding(DummyRowDecoder.NAME).to(DummyRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(CsvRowDecoder.NAME).to(CsvRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(JsonRowDecoder.NAME).to(JsonRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(RawRowDecoder.NAME).to(RawRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(AvroRowDecoder.NAME).to(AvroRowDecoderFactory.class).in(SINGLETON); binder.bind(DispatchingRowDecoderFactory.class).in(SINGLETON); } }
@Override protected void configureServlets() { Binder binder = binder(); JsonConfigProvider.bind(binder, "druid.server.http", ServerConfig.class); JsonConfigProvider.bind(binder, "druid.server.https", TLSServerConfig.class); binder.bind(GuiceContainer.class).to(DruidGuiceContainer.class); binder.bind(DruidGuiceContainer.class).in(Scopes.SINGLETON); binder.bind(CustomExceptionMapper.class).in(Singleton.class); binder.bind(ForbiddenExceptionMapper.class).in(Singleton.class); serve("/*").with(DruidGuiceContainer.class); Jerseys.addResource(binder, StatusResource.class); binder.bind(StatusResource.class).in(LazySingleton.class); // Adding empty binding for ServletFilterHolders and Handlers so that injector returns an empty set if none // are provided by extensions. Multibinder.newSetBinder(binder, Handler.class); Multibinder.newSetBinder(binder, ServletFilterHolder.class); MetricsModule.register(binder, JettyMonitor.class); }
@Override public void configure(Binder binder) { // Add appender to Log4J root logger JulAppender appender = new JulAppender(); //create appender appender.setLayout(new PatternLayout("%d %-5p %c - %m%n")); appender.setThreshold(Level.INFO); appender.activateOptions(); org.apache.log4j.Logger.getRootLogger().addAppender(appender); binder.bind(TypeManager.class).toInstance(typeManager); binder.bind(AccumuloConnector.class).in(Scopes.SINGLETON); binder.bind(AccumuloConnectorId.class).toInstance(new AccumuloConnectorId(connectorId)); binder.bind(AccumuloMetadata.class).in(Scopes.SINGLETON); binder.bind(AccumuloMetadataFactory.class).in(Scopes.SINGLETON); binder.bind(AccumuloClient.class).in(Scopes.SINGLETON); binder.bind(AccumuloSplitManager.class).in(Scopes.SINGLETON); binder.bind(AccumuloRecordSetProvider.class).in(Scopes.SINGLETON); binder.bind(AccumuloPageSinkProvider.class).in(Scopes.SINGLETON); binder.bind(AccumuloHandleResolver.class).in(Scopes.SINGLETON); binder.bind(AccumuloSessionProperties.class).in(Scopes.SINGLETON); binder.bind(AccumuloTableProperties.class).in(Scopes.SINGLETON); binder.bind(ZooKeeperMetadataManager.class).in(Scopes.SINGLETON); binder.bind(AccumuloTableManager.class).in(Scopes.SINGLETON); binder.bind(IndexLookup.class).in(Scopes.SINGLETON); binder.bind(ColumnCardinalityCache.class).in(Scopes.SINGLETON); binder.bind(Connector.class).toProvider(ConnectorProvider.class); configBinder(binder).bindConfig(AccumuloConfig.class); jsonBinder(binder).addDeserializerBinding(Type.class).to(TypeDeserializer.class); jsonCodecBinder(binder).bindMapJsonCodec(String.class, JsonCodec.listJsonCodec(AccumuloTable.class)); }
@Override protected void configure() { logger.info("Configuring module TelnetServerModule"); bind(TelnetServer.class).in(Singleton.class); bind(PutCommand.class).in(Singleton.class); bind(PutMillisecondCommand.class).in(Singleton.class); bind(PutStringCommand.class).in(Singleton.class); bind(VersionCommand.class).in(Singleton.class); bind(CommandProvider.class).to(GuiceCommandProvider.class); } }
@Override public void configure(Binder binder) { binder.disableCircularProxies(); // NOTE: this MUST NOT be a singleton because ObjectMappers are mutable. This means // one component could reconfigure the mapper and break all other components binder.bind(ObjectMapper.class).toProvider(ObjectMapperProvider.class); binder.bind(JsonCodecFactory.class).in(Scopes.SINGLETON); } }
@Override public void configure(Binder binder) { binder.bind(TypeManager.class).toInstance(typeManager); binder.bind(NodeManager.class).toInstance(nodeManager); binder.bind(Environment.class).toInstance(new Environment(environment)); binder.bind(AtopConnectorId.class).toInstance(new AtopConnectorId(connectorId)); binder.bind(AtopConnector.class).in(Scopes.SINGLETON); binder.bind(AtopMetadata.class).in(Scopes.SINGLETON); binder.bind(AtopSplitManager.class).in(Scopes.SINGLETON); binder.bind(AtopFactory.class).to(atopFactoryClass).in(Scopes.SINGLETON); binder.bind(AtopPageSourceProvider.class).in(Scopes.SINGLETON); configBinder(binder).bindConfig(AtopConnectorConfig.class); } }
@Override protected void configure() { bind(HealthCheckService.class).to(HealthCheckServiceImpl.class).in(Singleton.class); bind(ThreadDeadlockHealthStatus.class).in(Singleton.class); bind(DatastoreQueryHealthCheck.class).in(Singleton.class); // Bind REST resource bind(HealthCheckResource.class).in(Scopes.SINGLETON); } }
@Override public void configure(Binder binder) { binder.bind(TypeManager.class).toInstance(typeManager); binder.bind(NodeManager.class).toInstance(nodeManager); binder.bind(MemoryConnector.class).in(Scopes.SINGLETON); binder.bind(MemoryConnectorId.class).toInstance(new MemoryConnectorId(connectorId)); binder.bind(MemoryMetadata.class).in(Scopes.SINGLETON); binder.bind(MemorySplitManager.class).in(Scopes.SINGLETON); binder.bind(MemoryPagesStore.class).in(Scopes.SINGLETON); binder.bind(MemoryPageSourceProvider.class).in(Scopes.SINGLETON); binder.bind(MemoryPageSinkProvider.class).in(Scopes.SINGLETON); configBinder(binder).bindConfig(MemoryConfig.class); }
@Override public void configure(Binder binder) { MapBinder<String, RowDecoderFactory> decoderFactoriesByName = MapBinder.newMapBinder(binder, String.class, RowDecoderFactory.class); decoderFactoriesByName.addBinding(DummyRowDecoder.NAME).to(DummyRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(CsvRowDecoder.NAME).to(CsvRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(JsonRowDecoder.NAME).to(JsonRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(RawRowDecoder.NAME).to(RawRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(ZsetRedisRowDecoder.NAME).to(ZsetRedisRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(HashRedisRowDecoder.NAME).to(HashRedisRowDecoderFactory.class).in(SINGLETON); decoderFactoriesByName.addBinding(AvroRowDecoder.NAME).to(AvroRowDecoderFactory.class).in(SINGLETON); binder.bind(DispatchingRowDecoderFactory.class).in(SINGLETON); } }
@Override public void configure(Binder binder) { configBinder(binder).bindConfig(LocalFileConfig.class); binder.bind(LocalFileConnector.class).in(Scopes.SINGLETON); binder.bind(LocalFileMetadata.class).in(Scopes.SINGLETON); binder.bind(LocalFileSplitManager.class).in(Scopes.SINGLETON); binder.bind(LocalFileRecordSetProvider.class).in(Scopes.SINGLETON); binder.bind(LocalFileHandleResolver.class).in(Scopes.SINGLETON); binder.bind(LocalFileTables.class).in(Scopes.SINGLETON); } }
@Override public void configure(Binder binder) { JsonConfigProvider.bind(binder, "druid.announcer", BatchDataSegmentAnnouncerConfig.class); JsonConfigProvider.bind(binder, "druid.announcer", DataSegmentAnnouncerProvider.class); binder.bind(DataSegmentAnnouncer.class).toProvider(DataSegmentAnnouncerProvider.class); binder.bind(BatchDataSegmentAnnouncer.class).in(LazySingleton.class); binder.bind(DataSegmentServerAnnouncer.class).to(CuratorDataSegmentServerAnnouncer.class).in(LazySingleton.class); }
@Override public void configure(Binder binder) { binder.bind(CassandraConnectorId.class).toInstance(new CassandraConnectorId(connectorId)); binder.bind(CassandraConnector.class).in(Scopes.SINGLETON); binder.bind(CassandraMetadata.class).in(Scopes.SINGLETON); binder.bind(CassandraSplitManager.class).in(Scopes.SINGLETON); binder.bind(CassandraTokenSplitManager.class).in(Scopes.SINGLETON); binder.bind(CassandraRecordSetProvider.class).in(Scopes.SINGLETON); binder.bind(CassandraPageSinkProvider.class).in(Scopes.SINGLETON); binder.bind(CassandraPartitionManager.class).in(Scopes.SINGLETON); binder.bind(CassandraSessionProperties.class).in(Scopes.SINGLETON); configBinder(binder).bindConfig(CassandraClientConfig.class); jsonCodecBinder(binder).bindListJsonCodec(ExtraColumnMetadata.class); }
private void configureTaskStorage(Binder binder) { JsonConfigProvider.bind(binder, "druid.indexer.storage", TaskStorageConfig.class); PolyBind.createChoice( binder, "druid.indexer.storage.type", Key.get(TaskStorage.class), Key.get(HeapMemoryTaskStorage.class) ); final MapBinder<String, TaskStorage> storageBinder = PolyBind.optionBinder(binder, Key.get(TaskStorage.class)); storageBinder.addBinding("local").to(HeapMemoryTaskStorage.class); binder.bind(HeapMemoryTaskStorage.class).in(LazySingleton.class); storageBinder.addBinding("metadata").to(MetadataTaskStorage.class).in(ManageLifecycle.class); binder.bind(MetadataTaskStorage.class).in(LazySingleton.class); }