net.sf.ehcache.management.ManagementServerImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of management-ehcache-impl Show documentation
Show all versions of management-ehcache-impl Show documentation
A product library implementing the ehcache management resource service interfaces and integrating with ehcache to construct the relevant management resource entities.
The newest version!
/*
* All content copyright (c) 2003-2012 Terracotta, Inc., except as may otherwise be noted in a separate copyright
* notice. All rights reserved.
*/
package net.sf.ehcache.management;
import net.sf.ehcache.config.ManagementRESTServiceConfiguration;
import net.sf.ehcache.management.resource.services.validator.impl.EmbeddedEhcacheRequestValidator;
import net.sf.ehcache.management.service.CacheManagerService;
import net.sf.ehcache.management.service.CacheService;
import net.sf.ehcache.management.service.EntityResourceFactory;
import net.sf.ehcache.management.service.SamplerRepositoryService;
import net.sf.ehcache.management.service.impl.DfltSamplerRepositoryService;
import org.terracotta.management.ServiceLocator;
import org.terracotta.management.embedded.FilterDetail;
import org.terracotta.management.embedded.NoIaFilter;
import org.terracotta.management.embedded.StandaloneServer;
import org.terracotta.management.resource.services.AgentService;
import org.terracotta.management.resource.services.LicenseService;
import org.terracotta.management.resource.services.LicenseServiceImpl;
import org.terracotta.management.resource.services.validator.RequestValidator;
import java.util.Collections;
import java.util.List;
/**
* @author brandony
*/
public final class ManagementServerImpl extends AbstractManagementServer {
@Override
public void initialize(String clientUUID, ManagementRESTServiceConfiguration configuration) {
// Clear settings that are invalid for non-ee management servers
configuration.setNeedClientAuth(false);
configuration.setSecurityServiceLocation(null);
configuration.setSslEnabled(false);
configuration.setSecurityServiceTimeout(0);
String host = configuration.getHost();
int port = configuration.getPort();
loadEmbeddedAgentServiceLocator(clientUUID, configuration);
samplerRepoSvc = ServiceLocator.locate(SamplerRepositoryService.class);
List filterDetails = Collections.singletonList(new FilterDetail(new NoIaFilter(), "/*"));
standaloneServer = new StandaloneServer(filterDetails, null, "com.terracotta.management.ApplicationEhCache",
host, port, null, false);
}
private void loadEmbeddedAgentServiceLocator(String clientUUID, ManagementRESTServiceConfiguration configuration) {
DfltSamplerRepositoryService samplerRepoSvc = new DfltSamplerRepositoryService(clientUUID, configuration);
LicenseService licenseService = new LicenseServiceImpl(false);
ServiceLocator locator = new ServiceLocator()
.loadService(LicenseService.class, licenseService)
.loadService(RequestValidator.class, new EmbeddedEhcacheRequestValidator())
.loadService(CacheManagerService.class, samplerRepoSvc)
.loadService(CacheService.class, samplerRepoSvc)
.loadService(EntityResourceFactory.class, samplerRepoSvc)
.loadService(SamplerRepositoryService.class, samplerRepoSvc)
.loadService(AgentService.class, samplerRepoSvc)
.loadService(ManagementRESTServiceConfiguration.class, configuration);
ServiceLocator.load(locator);
}
}