package net.ion.craken.problem; import junit.framework.TestCase; import net.ion.framework.util.Debug; import net.ion.framework.util.InfinityThread; import org.infinispan.Cache; import org.infinispan.configuration.cache.CacheMode; import org.infinispan.configuration.cache.ConfigurationBuilder; import org.infinispan.configuration.global.GlobalConfiguration; import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.manager.DefaultCacheManager; import org.infinispan.notifications.Listener; import org.infinispan.notifications.cachelistener.annotation.CacheEntryModified; import org.infinispan.notifications.cachelistener.event.CacheEntryModifiedEvent; @Listener public class TestDistInfinispan extends TestCase{ public void testFirstServer() throws Exception { GlobalConfiguration gconfig = GlobalConfigurationBuilder.defaultClusteredBuilder().build() ; DefaultCacheManager dm = new DefaultCacheManager(gconfig) ; dm.defineConfiguration("test", new ConfigurationBuilder().clustering().cacheMode(CacheMode.REPL_SYNC).build()) ; Cache<String, Object> cache = dm.getCache("test") ; cache.addListener(this); new InfinityThread().startNJoin(); cache.stop(); dm.stop(); } public void testSecondServer() throws Exception { GlobalConfiguration gconfig = GlobalConfigurationBuilder.defaultClusteredBuilder().build() ; DefaultCacheManager dm = new DefaultCacheManager(gconfig) ; dm.defineConfiguration("test", new ConfigurationBuilder().clustering().cacheMode(CacheMode.REPL_SYNC).build()) ; Cache<String, Object> cache = dm.getCache("test") ; cache.addListener(this); cache.put("bleujin", "Hello World") ; new InfinityThread().startNJoin(); cache.stop(); dm.stop(); } @CacheEntryModified public void modified(CacheEntryModifiedEvent<String, Object> event){ if (event.isPre()) return ; Debug.line(event.getKey(), event.getValue()); } }