package org.infinispan.test.integration.as.jms; import static org.junit.Assert.assertTrue; import javax.inject.Inject; import org.infinispan.test.integration.as.jms.controller.StatisticsController; import org.infinispan.test.integration.as.jms.model.RegisteredMember; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.OperateOnDeployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.arquillian.junit.InSequence; import org.jboss.shrinkwrap.api.Archive; import org.junit.Test; import org.junit.runner.RunWith; /** * Test the the combination of JMS+Infinispan as backend and the use of Infinispan as second level cache. * * @author Davide D'Alto * @author Sanne Grinovero */ @RunWith(Arquillian.class) public class SearchNewEntityJmsMasterSlaveUsingInfinispanAs2ndCacheAndModulesIT extends SearchNewEntityJmsMasterSlave { @Inject StatisticsController stats; @Test @InSequence(1005) @OperateOnDeployment("slave-1") public void secondLevelCacheShouldBeActive() throws Exception { RegisteredMember cachedMember = memberRegistration.getNewMember(); cachedMember.setName("Johnny Cached"); memberRegistration.register(); // Cache the result memberRegistration.findById(cachedMember.getId()); memberRegistration.findById(cachedMember.getId()); memberRegistration.findById(cachedMember.getId()); long secondLevelCacheMissCount = stats.getStatistics().getSecondLevelCacheMissCount(); assertTrue("Second level cache not enabled", secondLevelCacheMissCount > 0); } @Deployment(name = "master", order = 1) public static Archive<?> createDeploymentMaster() throws Exception { Archive<?> master = DeploymentJmsMasterSlaveAndInfinispanAs2ndLevelCache.createMaster("master"); return master; } @Deployment(name = "slave-1", order = 2) public static Archive<?> createDeploymentSlave1() throws Exception { Archive<?> slave = DeploymentJmsMasterSlaveAndInfinispanAs2ndLevelCache.createSlave("slave-1"); return slave; } @Deployment(name = "slave-2", order = 3) public static Archive<?> createDeploymentSlave2() throws Exception { Archive<?> slave = DeploymentJmsMasterSlaveAndInfinispanAs2ndLevelCache.createSlave("slave-2"); return slave; } }