package org.infinispan.spring.provider.sample; import org.infinispan.client.hotrod.test.HotRodClientTestingUtil; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.server.hotrod.HotRodServer; import org.infinispan.server.hotrod.configuration.HotRodServerConfigurationBuilder; import org.infinispan.server.hotrod.test.HotRodTestingUtil; import org.infinispan.test.fwk.TestCacheManagerFactory; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean; /** * Starts test HotRod server instance with pre-defined set of caches. * * @author <a href="mailto:olaf DOT bergner AT gmx DOT de">Olaf Bergner</a> * @author Matej Cimbora (mcimbora@redhat.com) */ public class SampleHotrodServerLifecycleBean implements InitializingBean, DisposableBean { private EmbeddedCacheManager cacheManager; private HotRodServer hotrodServer; private String remoteCacheName; private String remoteBackupCacheName; private String customCacheName; public void setRemoteCacheName(String remoteCacheName) { this.remoteCacheName = remoteCacheName; } public void setRemoteBackupCacheName(String remoteBackupCacheName) { this.remoteBackupCacheName = remoteBackupCacheName; } public void setCustomCacheName(String customCacheName) { this.customCacheName = customCacheName; } @Override public void afterPropertiesSet() throws Exception { cacheManager = TestCacheManagerFactory.createCacheManager(HotRodTestingUtil.hotRodCacheConfiguration()); cacheManager.defineConfiguration(remoteCacheName, HotRodTestingUtil.hotRodCacheConfiguration().build()); cacheManager.defineConfiguration(remoteBackupCacheName, HotRodTestingUtil.hotRodCacheConfiguration().build()); cacheManager.defineConfiguration(customCacheName, HotRodTestingUtil.hotRodCacheConfiguration().build()); HotRodServerConfigurationBuilder hcb = new HotRodServerConfigurationBuilder(); hcb.port(15233); hotrodServer = HotRodClientTestingUtil.startHotRodServer(cacheManager, hcb); } @Override public void destroy() throws Exception { cacheManager.stop(); hotrodServer.stop(); } }