Refine search
@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); } }
static void configureSsl(Binder binder) { final SSLContext context; try { context = SSLContext.getDefault(); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } binder.bind(SSLContext.class).toProvider(Providers.of(context)).in(LazySingleton.class); }
@Override protected void configure() { // need to eagerly initialize bind(ApplicationInfoManager.class).asEagerSingleton(); // // override these in additional modules if necessary with Modules.override() // bind(EurekaInstanceConfig.class).toProvider(CloudInstanceConfigProvider.class).in(Scopes.SINGLETON); bind(EurekaClientConfig.class).toProvider(DefaultEurekaClientConfigProvider.class).in(Scopes.SINGLETON); // this is the self instanceInfo used for registration purposes bind(InstanceInfo.class).toProvider(EurekaConfigBasedInstanceInfoProvider.class).in(Scopes.SINGLETON); bind(EurekaClient.class).to(DiscoveryClient.class).in(Scopes.SINGLETON); // jersey2 support bindings bind(AbstractDiscoveryClientOptionalArgs.class).to(Jersey2DiscoveryClientOptionalArgs.class).in(Scopes.SINGLETON); }
@Override public void configure(Binder binder) { binder.bindConstant().annotatedWith(Names.named("serviceName")).to("druid/test/memcached"); binder.bindConstant().annotatedWith(Names.named("servicePort")).to(0); binder.bindConstant().annotatedWith(Names.named("tlsServicePort")).to(-1); binder.bind(MemcachedCacheConfig.class).toInstance(config); binder.bind(Cache.class).toProvider(MemcachedProviderWithConfig.class).in(ManageLifecycle.class); } }
binder.bind(Env.class).toInstance(finalEnv); binder.bind(Charset.class).toInstance(charset); binder.bind(SSLContext.class).toProvider(SslContextProvider.class); renderers.addBinding().toInstance(BuiltinRenderer.text); binder.bind(HttpHandler.class).to(HttpHandlerImpl.class).in(Singleton.class); binder.bind(Session.Definition.class) .toProvider(session(finalConfig.getConfig("session"), session)) .asEagerSingleton(); Object sstore = session.store(); binder.bind(Request.class).toProvider(Providers.outOfScope(Request.class)) .in(RequestScoped.class); binder.bind(Route.Chain.class).toProvider(Providers.outOfScope(Route.Chain.class)) .in(RequestScoped.class); binder.bind(Response.class).toProvider(Providers.outOfScope(Response.class)) .in(RequestScoped.class); binder.bind(Sse.class).toProvider(Providers.outOfScope(Sse.class)) .in(RequestScoped.class); binder.bind(Session.class).toProvider(Providers.outOfScope(Session.class)) .in(RequestScoped.class);
@Override protected void setup(Binder binder) { binder.bind(Clock.class).toInstance(Clock.systemUTC()); binder.bind(LockService.class).toProvider(LockServiceProvider.class); binder.bind(FieldDependency.class).toProvider(FieldDependencyProvider.class).in(Scopes.SINGLETON); .annotatedWith(Names.named("rakam-client")) .toProvider(() -> RAsyncHttpClient.create(1000 * 60 * 10, "rakam-custom-script")) .in(Scopes.SINGLETON); .annotatedWith(ForHttpServer.class) .to(NioEventLoopGroup.class) .in(Scopes.SINGLETON); binder.bind(WebServiceModule.class);
@Override public void configure(Binder binder) { binder.bindConstant().annotatedWith(Names.named("serviceName")).to("druid/test/memcached"); binder.bindConstant().annotatedWith(Names.named("servicePort")).to(0); binder.bindConstant().annotatedWith(Names.named("tlsServicePort")).to(-1); binder.bind(Cache.class).toProvider(CacheProvider.class); JsonConfigProvider.bind(binder, uuid, CacheProvider.class); } }
private <T> void registerListType(Class<T> type, Binder binder) { final AllImplementationsProvider<T> provider = new AllImplementationsProvider<T>(); binder.bindListener(VRaptorAbstractModule.type(Matchers.subclassesOf(type)), new TypeListener() { public void hear(TypeLiteral literal, TypeEncounter encounter) { provider.addType(literal.getRawType()); } }); binder.bind(TypeLiteral.get(Types.listOf(type))).toProvider((Provider)provider); binder.requestInjection(provider); }
public static void bindAnnouncer( final Binder binder, final DiscoverySideEffectsProvider provider ) { binder.bind(DiscoverySideEffectsProvider.Child.class) .toProvider(provider) .in(LazySingleton.class); LifecycleModule.registerKey(binder, Key.get(DiscoverySideEffectsProvider.Child.class)); }
@Override protected void configure() { // need to eagerly initialize bind(ApplicationInfoManager.class).asEagerSingleton(); // // override these in additional modules if necessary with Modules.override() // bind(EurekaInstanceConfig.class).toProvider(CloudInstanceConfigProvider.class).in(Scopes.SINGLETON); bind(EurekaClientConfig.class).toProvider(DefaultEurekaClientConfigProvider.class).in(Scopes.SINGLETON); // this is the self instanceInfo used for registration purposes bind(InstanceInfo.class).toProvider(EurekaConfigBasedInstanceInfoProvider.class).in(Scopes.SINGLETON); bind(EurekaClient.class).to(DiscoveryClient.class).in(Scopes.SINGLETON); // Default to the jersey1 discovery client optional args bind(AbstractDiscoveryClientOptionalArgs.class).to(Jersey1DiscoveryClientOptionalArgs.class).in(Scopes.SINGLETON); }
@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 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); } }
@Test public void testSimpleInjection() { final String uuid = UUID.randomUUID().toString(); System.setProperty(uuid + ".type", "caffeine"); final Injector injector = Initialization.makeInjectorWithModules( GuiceInjectors.makeStartupInjector(), ImmutableList.of( binder -> { binder.bindConstant().annotatedWith(Names.named("serviceName")).to("druid/test/redis"); binder.bindConstant().annotatedWith(Names.named("servicePort")).to(0); binder.bindConstant().annotatedWith(Names.named("tlsServicePort")).to(-1); binder.bind(Cache.class).toProvider(CacheProvider.class); JsonConfigProvider.bind(binder, uuid, CacheProvider.class); } ) ); final CacheProvider cacheProvider = injector.getInstance(CacheProvider.class); Assert.assertNotNull(cacheProvider); Assert.assertEquals(CaffeineCacheProvider.class, cacheProvider.getClass()); }
@Override public void configure(Binder binder) { binder.bind(ScriptingContainerDelegate.class).toProvider(ScriptingContainerProvider.class).in(Scopes.SINGLETON); // TODO: Bind org.jruby.embed.ScriptingContainer without Java-level reference to the class. // TODO: Remove this binding finally. https://github.com/embulk/embulk/issues/1007 binder.bind(org.jruby.embed.ScriptingContainer.class) .toProvider(RawScriptingContainerProvider.class).in(Scopes.SINGLETON); }
@Override protected void configure() { // require binding for Config from archaius2 requireBinding(Config.class); bind(ApplicationInfoManager.class).asEagerSingleton(); bind(VipAddressResolver.class).to(Archaius2VipAddressResolver.class); bind(InstanceInfo.class).toProvider(EurekaConfigBasedInstanceInfoProvider.class); bind(EurekaClient.class).to(DiscoveryClient.class); // Default to the jersey1 discovery client optional args bind(AbstractDiscoveryClientOptionalArgs.class).to(Jersey1DiscoveryClientOptionalArgs.class).in(Scopes.SINGLETON); }
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.bind(ChatHandlerProvider.class).toProvider(Providers.of(null)); PolyBind.createChoice( binder, .addBinding("dropwizard") .to(DropwizardRowIngestionMetersFactory.class) .in(LazySingleton.class); binder.bind(DropwizardRowIngestionMetersFactory.class).in(LazySingleton.class); binder.bind(JettyServerInitializer.class) .to(MiddleManagerJettyServerInitializer.class) .in(LazySingleton.class); Jerseys.addResource(binder, WorkerResource.class); Jerseys.addResource(binder, TaskManagementResource.class);
@Override public void configure(final Env env, final Config config, final Binder binder) { binder.bind(Mapper.class).toInstance(mapper); binder.bind(Jongo.class).toProvider(JongoFactoryImpl.class); binder.bind(JongoFactory.class).to(JongoFactoryImpl.class); }
public static <T> void bind(Binder binder, Class<T> clazz) { binder.bind(clazz).toProvider(of(clazz)).in(LazySingleton.class); }
@Override protected void configure() { bind(HttpServerConfig.class); bind(Runnable.class).annotatedWith(Names.named("http-server-on-close")).toInstance(onClose); bind(HttpServer.class).toProvider(HttpServerProvider.class).in(Singleton.class); }
JsonConfigProvider.bind(binder, "druid.indexer.auditlog", TaskAuditLogConfig.class); binder.bind(TaskMaster.class).in(ManageLifecycle.class); binder.bind(TaskCountStatsProvider.class).to(TaskMaster.class); binder.bind(TaskLogStreamer.class).to(SwitchingTaskLogStreamer.class).in(LazySingleton.class); binder.bind( new TypeLiteral<List<TaskLogStreamer>>() .toProvider( new ListProvider<TaskLogStreamer>() .add(TaskRunnerTaskLogStreamer.class) .add(TaskLogs.class) .in(LazySingleton.class); binder.bind(TaskActionClientFactory.class).to(LocalTaskActionClientFactory.class).in(LazySingleton.class); binder.bind(TaskActionToolbox.class).in(LazySingleton.class); binder.bind(TaskLockbox.class).in(LazySingleton.class); binder.bind(IndexingServiceClient.class).to(HttpIndexingServiceClient.class).in(LazySingleton.class); binder.bind(new TypeLiteral<IndexTaskClientFactory<ParallelIndexTaskClient>>() {}) .toProvider(Providers.of(null)); binder.bind(ChatHandlerProvider.class).toProvider(Providers.of(null)); binder.bind(AuditManager.class) .toProvider(AuditManagerProvider.class) .in(ManageLifecycle.class);