All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.appops.cache.injection.GuavaCacheServiceModule Maven / Gradle / Ivy

There is a newer version: 1.0-RC-5
Show newest version
/*
 * AppOps is a Java framework to develop, deploy microservices with ease and is available for free
 * and common use developed by AinoSoft ( www.ainosoft.com )
 *
 * AppOps and AinoSoft are registered trademarks of Aino Softwares private limited, India.
 *
 * Copyright (C) <2016> 
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the
 * GNU General Public License as published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version along with applicable additional terms as
 * provisioned by GPL 3.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License and applicable additional terms
 * along with this program.
 *
 * If not, see  and 
 */

package org.appops.cache.injection;

import com.google.inject.Singleton;
import org.appops.cache.core.CacheService;
import org.appops.cache.event.SubscriberRegistry;
import org.appops.cache.impl.GuavaCacheImpl;
import org.appops.cache.impl.ServiceBusImpl;
import org.appops.cache.impl.SubscriberRegistryImpl;
import org.appops.cache.slim.Cache;
import org.appops.cache.slim.ServiceBus;
import org.appops.core.annotation.ImplModule;
import org.appops.service.injection.ServiceModule;

/**
 * A class which contains all guice binding configuration.
 *
 * @author suraj
 * @version $Id: $Id
 */
@ImplModule(serviceName = CacheService.class)
public class GuavaCacheServiceModule extends ServiceModule {

  /** {@inheritDoc} */
  @Override
  public void configureModule() {
    bind(Cache.class).to(GuavaCacheImpl.class);
    bind(SubscriberRegistry.class).to(SubscriberRegistryImpl.class).in(Singleton.class);
    bind(ServiceBus.class).to(ServiceBusImpl.class);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy