Search in sources :

Example 1 with RedisCacheConfig

use of org.killbill.billing.util.config.definition.RedisCacheConfig in project killbill by killbill.

the class KillBillShiroWebModule method configureShiroWeb.

@Override
protected void configureShiroWeb() {
    final RedisCacheConfig redisCacheConfig = new ConfigurationObjectFactory(new ConfigSource() {

        @Override
        public String getString(final String propertyName) {
            return configSource.getString(propertyName);
        }
    }).build(RedisCacheConfig.class);
    // Magic provider to configure the cache manager
    if (redisCacheConfig.isRedisCachingEnabled()) {
        bind(CacheManager.class).toProvider(RedisShiroManagerProvider.class).asEagerSingleton();
    } else {
        bind(CacheManager.class).toProvider(EhcacheShiroManagerProvider.class).asEagerSingleton();
    }
    final SecurityConfig securityConfig = new ConfigurationObjectFactory(configSource).build(SecurityConfig.class);
    final Collection<Realm> realms = defaultSecurityManager.getRealms() != null ? defaultSecurityManager.getRealms() : // Mainly for testing
    ImmutableSet.<Realm>of(new IniRealm(securityConfig.getShiroResourcePath()));
    for (final Realm realm : realms) {
        bindRealm().toInstance(realm);
    }
    configureShiroForRBAC();
    configureShiroForTenants();
    expose(new TypeLiteral<Set<Realm>>() {
    });
}
Also used : ConfigSource(org.skife.config.ConfigSource) RedisShiroManagerProvider(org.killbill.billing.util.glue.RedisShiroManagerProvider) ImmutableSet(com.google.common.collect.ImmutableSet) Set(java.util.Set) SecurityConfig(org.killbill.billing.util.config.definition.SecurityConfig) RedisCacheConfig(org.killbill.billing.util.config.definition.RedisCacheConfig) ConfigurationObjectFactory(org.skife.config.ConfigurationObjectFactory) IniRealm(org.apache.shiro.realm.text.IniRealm) EhcacheShiroManagerProvider(org.killbill.billing.util.glue.EhcacheShiroManagerProvider) IniRealm(org.apache.shiro.realm.text.IniRealm) KillbillJdbcTenantRealm(org.killbill.billing.server.security.KillbillJdbcTenantRealm) Realm(org.apache.shiro.realm.Realm) KillBillAuth0Realm(org.killbill.billing.util.security.shiro.realm.KillBillAuth0Realm) KillBillJdbcRealm(org.killbill.billing.util.security.shiro.realm.KillBillJdbcRealm) KillBillJndiLdapRealm(org.killbill.billing.util.security.shiro.realm.KillBillJndiLdapRealm) KillBillOktaRealm(org.killbill.billing.util.security.shiro.realm.KillBillOktaRealm)

Example 2 with RedisCacheConfig

use of org.killbill.billing.util.config.definition.RedisCacheConfig in project killbill by killbill.

the class CacheModule method configure.

@Override
protected void configure() {
    final CacheConfig cacheConfig = new ConfigurationObjectFactory(skifeConfigSource).build(CacheConfig.class);
    bind(CacheConfig.class).toInstance(cacheConfig);
    final EhCacheConfig ehCacheConfig = new ConfigurationObjectFactory(skifeConfigSource).build(EhCacheConfig.class);
    bind(EhCacheConfig.class).toInstance(ehCacheConfig);
    final RedisCacheConfig redisCacheConfig = new ConfigurationObjectFactory(skifeConfigSource).build(RedisCacheConfig.class);
    bind(RedisCacheConfig.class).toInstance(redisCacheConfig);
    if (redisCacheConfig.isRedisCachingEnabled()) {
        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();
    }
    // Kill Bill generic cache dispatcher
    bind(CacheControllerDispatcher.class).toProvider(CacheControllerDispatcherProvider.class).asEagerSingleton();
    final Multibinder<BaseCacheLoader> resultSetMapperSetBinder = Multibinder.newSetBinder(binder(), BaseCacheLoader.class);
    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();
    resultSetMapperSetBinder.addBinding().to(ObjectIdCacheLoader.class).asEagerSingleton();
    resultSetMapperSetBinder.addBinding().to(TenantCatalogCacheLoader.class).asEagerSingleton();
    resultSetMapperSetBinder.addBinding().to(TenantConfigCacheLoader.class).asEagerSingleton();
    resultSetMapperSetBinder.addBinding().to(TenantOverdueConfigCacheLoader.class).asEagerSingleton();
    resultSetMapperSetBinder.addBinding().to(TenantKVCacheLoader.class).asEagerSingleton();
    resultSetMapperSetBinder.addBinding().to(TenantCacheLoader.class).asEagerSingleton();
    resultSetMapperSetBinder.addBinding().to(OverriddenPlanCacheLoader.class).asEagerSingleton();
    resultSetMapperSetBinder.addBinding().to(TenantStateMachineConfigCacheLoader.class).asEagerSingleton();
    resultSetMapperSetBinder.addBinding().to(AccountIdFromBundleIdCacheLoader.class).asEagerSingleton();
    resultSetMapperSetBinder.addBinding().to(BundleIdFromSubscriptionIdCacheLoader.class).asEagerSingleton();
}
Also used : AccountRecordIdCacheLoader(org.killbill.billing.util.cache.AccountRecordIdCacheLoader) TenantRecordIdCacheLoader(org.killbill.billing.util.cache.TenantRecordIdCacheLoader) TenantCatalogCacheLoader(org.killbill.billing.util.cache.TenantCatalogCacheLoader) TenantConfigCacheLoader(org.killbill.billing.util.cache.TenantConfigCacheLoader) AccountIdFromBundleIdCacheLoader(org.killbill.billing.util.cache.AccountIdFromBundleIdCacheLoader) TenantStateMachineConfigCacheLoader(org.killbill.billing.util.cache.TenantStateMachineConfigCacheLoader) RedisCacheConfig(org.killbill.billing.util.config.definition.RedisCacheConfig) OverriddenPlanCacheLoader(org.killbill.billing.util.cache.OverriddenPlanCacheLoader) CacheConfig(org.killbill.billing.util.config.definition.CacheConfig) RedisCacheConfig(org.killbill.billing.util.config.definition.RedisCacheConfig) EhCacheConfig(org.killbill.billing.util.config.definition.EhCacheConfig) TenantCacheLoader(org.killbill.billing.util.cache.TenantCacheLoader) ObjectIdCacheLoader(org.killbill.billing.util.cache.ObjectIdCacheLoader) CacheControllerDispatcherProvider(org.killbill.billing.util.cache.CacheControllerDispatcherProvider) ConfigurationObjectFactory(org.skife.config.ConfigurationObjectFactory) TenantOverdueConfigCacheLoader(org.killbill.billing.util.cache.TenantOverdueConfigCacheLoader) BundleIdFromSubscriptionIdCacheLoader(org.killbill.billing.util.cache.BundleIdFromSubscriptionIdCacheLoader) RedissonClient(org.redisson.api.RedissonClient) AccountRecordIdCacheLoader(org.killbill.billing.util.cache.AccountRecordIdCacheLoader) TenantRecordIdCacheLoader(org.killbill.billing.util.cache.TenantRecordIdCacheLoader) RecordIdCacheLoader(org.killbill.billing.util.cache.RecordIdCacheLoader) EhCacheConfig(org.killbill.billing.util.config.definition.EhCacheConfig) ImmutableAccountCacheLoader(org.killbill.billing.util.cache.ImmutableAccountCacheLoader) BaseCacheLoader(org.killbill.billing.util.cache.BaseCacheLoader) AccountBCDCacheLoader(org.killbill.billing.util.cache.AccountBCDCacheLoader) TenantKVCacheLoader(org.killbill.billing.util.cache.TenantKVCacheLoader)

Example 3 with RedisCacheConfig

use of org.killbill.billing.util.config.definition.RedisCacheConfig in project killbill by killbill.

the class KillBillShiroModule method bindSecurityManager.

@Override
protected void bindSecurityManager(final AnnotatedBindingBuilder<? super SecurityManager> bind) {
    // super.bindSecurityManager(bind);
    bind.toInstance(defaultSecurityManager);
    final RedisCacheConfig redisCacheConfig = new ConfigurationObjectFactory(new ConfigSource() {

        @Override
        public String getString(final String propertyName) {
            return configSource.getString(propertyName);
        }
    }).build(RedisCacheConfig.class);
    // Magic provider to configure the cache manager
    if (redisCacheConfig.isRedisCachingEnabled()) {
        bind(CacheManager.class).toProvider(RedisShiroManagerProvider.class).asEagerSingleton();
    } else {
        bind(CacheManager.class).toProvider(EhcacheShiroManagerProvider.class).asEagerSingleton();
    }
}
Also used : KillbillConfigSource(org.killbill.billing.platform.api.KillbillConfigSource) ConfigSource(org.skife.config.ConfigSource) RedisCacheConfig(org.killbill.billing.util.config.definition.RedisCacheConfig) ConfigurationObjectFactory(org.skife.config.ConfigurationObjectFactory)

Aggregations

RedisCacheConfig (org.killbill.billing.util.config.definition.RedisCacheConfig)3 ConfigurationObjectFactory (org.skife.config.ConfigurationObjectFactory)3 ConfigSource (org.skife.config.ConfigSource)2 ImmutableSet (com.google.common.collect.ImmutableSet)1 Set (java.util.Set)1 Realm (org.apache.shiro.realm.Realm)1 IniRealm (org.apache.shiro.realm.text.IniRealm)1 KillbillConfigSource (org.killbill.billing.platform.api.KillbillConfigSource)1 KillbillJdbcTenantRealm (org.killbill.billing.server.security.KillbillJdbcTenantRealm)1 AccountBCDCacheLoader (org.killbill.billing.util.cache.AccountBCDCacheLoader)1 AccountIdFromBundleIdCacheLoader (org.killbill.billing.util.cache.AccountIdFromBundleIdCacheLoader)1 AccountRecordIdCacheLoader (org.killbill.billing.util.cache.AccountRecordIdCacheLoader)1 BaseCacheLoader (org.killbill.billing.util.cache.BaseCacheLoader)1 BundleIdFromSubscriptionIdCacheLoader (org.killbill.billing.util.cache.BundleIdFromSubscriptionIdCacheLoader)1 CacheControllerDispatcherProvider (org.killbill.billing.util.cache.CacheControllerDispatcherProvider)1 ImmutableAccountCacheLoader (org.killbill.billing.util.cache.ImmutableAccountCacheLoader)1 ObjectIdCacheLoader (org.killbill.billing.util.cache.ObjectIdCacheLoader)1 OverriddenPlanCacheLoader (org.killbill.billing.util.cache.OverriddenPlanCacheLoader)1 RecordIdCacheLoader (org.killbill.billing.util.cache.RecordIdCacheLoader)1 TenantCacheLoader (org.killbill.billing.util.cache.TenantCacheLoader)1