}
});
}
private void assertNamedCacheFile(EmbeddedCacheManager cm, boolean deprecated) {
final GlobalConfiguration gc = cm.getCacheManagerConfiguration();
assertTrue(gc.asyncListenerExecutor().factory() instanceof DefaultExecutorFactory);
assertEquals("5", gc.asyncListenerExecutor().properties().getProperty("maxThreads"));
if (!deprecated) {
assertEquals("10000", gc.asyncListenerExecutor().properties().getProperty("queueSize"));
}
assertEquals("AsyncListenerThread", gc.asyncListenerExecutor().properties().getProperty("threadNamePrefix"));
assertTrue(gc.asyncTransportExecutor().factory() instanceof DefaultExecutorFactory);
// Should be 25, but it's overriden by the test cache manager factory
assertEquals(String.valueOf(TestCacheManagerFactory.MAX_ASYNC_EXEC_THREADS), gc.asyncTransportExecutor().properties().getProperty("maxThreads"));
if (!deprecated) {
assertEquals(String.valueOf(TestCacheManagerFactory.ASYNC_EXEC_QUEUE_SIZE), gc.asyncTransportExecutor().properties().getProperty("queueSize"));
}
assertEquals("AsyncSerializationThread", gc.asyncTransportExecutor().properties().getProperty("threadNamePrefix"));
if (!deprecated) {
assertTrue(gc.remoteCommandsExecutor().factory() instanceof DefaultExecutorFactory);
assertEquals(String.valueOf(TestCacheManagerFactory.MAX_REQ_EXEC_THREADS),
gc.remoteCommandsExecutor().properties().getProperty("maxThreads"));
assertEquals("RemoteCommandThread", gc.remoteCommandsExecutor().properties().getProperty("threadNamePrefix"));
assertEquals("2", gc.remoteCommandsExecutor().properties().getProperty("coreThreads"));
assertEquals(String.valueOf(TestCacheManagerFactory.KEEP_ALIVE), gc.remoteCommandsExecutor().properties().getProperty("keepAliveTime"));
}
if (!deprecated) {
assertTrue(gc.totalOrderExecutor().factory() instanceof DefaultExecutorFactory);
assertEquals("16", gc.totalOrderExecutor().properties().getProperty("maxThreads"));
assertEquals("TotalOrderValidatorThread", gc.totalOrderExecutor().properties().getProperty("threadNamePrefix"));
assertEquals("1", gc.totalOrderExecutor().properties().getProperty("coreThreads"));
assertEquals("1000", gc.totalOrderExecutor().properties().getProperty("keepAliveTime"));
assertEquals("0", gc.totalOrderExecutor().properties().getProperty("queueSize"));
}
assertTrue(gc.evictionScheduledExecutor().factory() instanceof DefaultScheduledExecutorFactory);
assertEquals("EvictionThread", gc.evictionScheduledExecutor().properties().getProperty("threadNamePrefix"));
assertTrue(gc.replicationQueueScheduledExecutor().factory() instanceof DefaultScheduledExecutorFactory);
assertEquals("ReplicationQueueThread", gc.replicationQueueScheduledExecutor().properties().getProperty("threadNamePrefix"));
assertTrue(gc.transport().transport() instanceof JGroupsTransport);
assertEquals("infinispan-cluster", gc.transport().clusterName());
// Should be "Jalapeno" but it's overriden by the test cache manager factory
assertTrue(gc.transport().nodeName().contains("Node"));
assertEquals(50000, gc.transport().distributedSyncTimeout());
assertEquals(ShutdownHookBehavior.REGISTER, gc.shutdown().hookBehavior());
assertTrue(gc.serialization().marshaller() instanceof VersionAwareMarshaller);
assertEquals(Version.getVersionShort("1.0"), gc.serialization().version());
final Map<Integer, AdvancedExternalizer<?>> externalizers = gc.serialization().advancedExternalizers();
assertEquals(3, externalizers.size());
assertTrue(externalizers.get(1234) instanceof AdvancedExternalizerTest.IdViaConfigObj.Externalizer);
assertTrue(externalizers.get(5678) instanceof AdvancedExternalizerTest.IdViaAnnotationObj.Externalizer);
assertTrue(externalizers.get(3456) instanceof AdvancedExternalizerTest.IdViaBothObj.Externalizer);
Configuration defaultCfg = cm.getDefaultCacheConfiguration();
assertEquals(1000, defaultCfg.locking().lockAcquisitionTimeout());
assertEquals(100, defaultCfg.locking().concurrencyLevel());
assertEquals(IsolationLevel.READ_COMMITTED, defaultCfg.locking().isolationLevel());
if (!deprecated) {
assertReaperAndTimeoutInfo(defaultCfg);
}
Configuration c = cm.getCacheConfiguration("transactional");
assertTrue(!c.clustering().cacheMode().isClustered());
assertTrue(c.transaction().transactionManagerLookup() instanceof GenericTransactionManagerLookup);
assertTrue(c.transaction().useEagerLocking());
assertTrue(c.transaction().eagerLockingSingleNode());
assertTrue(!c.transaction().syncRollbackPhase());
if (!deprecated) {
assertReaperAndTimeoutInfo(defaultCfg);
}
c = cm.getCacheConfiguration("transactional2");
assertTrue(c.transaction().transactionManagerLookup() instanceof TestLookup);
assertEquals(10000, c.transaction().cacheStopTimeout());
assertEquals(LockingMode.PESSIMISTIC, c.transaction().lockingMode());
assertTrue(!c.transaction().autoCommit());
c = cm.getCacheConfiguration("transactional3");
if (!deprecated) {
assertEquals(TransactionProtocol.TOTAL_ORDER, c.transaction().transactionProtocol());
}
c = cm.getCacheConfiguration("syncInval");
assertEquals(CacheMode.INVALIDATION_SYNC, c.clustering().cacheMode());
assertTrue(!c.clustering().stateTransfer().fetchInMemoryState());
assertTrue(c.clustering().stateTransfer().awaitInitialTransfer());
assertEquals(15000, c.clustering().sync().replTimeout());
c = cm.getCacheConfiguration("asyncInval");
assertEquals(CacheMode.INVALIDATION_ASYNC, c.clustering().cacheMode());
assertTrue(!c.clustering().stateTransfer().fetchInMemoryState());
if (!deprecated) assertTrue(!c.clustering().stateTransfer().awaitInitialTransfer());
assertEquals(15000, c.clustering().sync().replTimeout());
c = cm.getCacheConfiguration("syncRepl");
assertEquals(CacheMode.REPL_SYNC, c.clustering().cacheMode());
assertTrue(!c.clustering().stateTransfer().fetchInMemoryState());
assertTrue(c.clustering().stateTransfer().awaitInitialTransfer());
assertEquals(15000, c.clustering().sync().replTimeout());
c = cm.getCacheConfiguration("asyncRepl");
assertEquals(CacheMode.REPL_ASYNC, c.clustering().cacheMode());
assertTrue(!c.clustering().async().useReplQueue());
assertTrue(!c.clustering().async().asyncMarshalling());
assertTrue(!c.clustering().stateTransfer().fetchInMemoryState());
assertTrue(c.clustering().stateTransfer().awaitInitialTransfer());
c = cm.getCacheConfiguration("asyncReplQueue");
assertEquals(CacheMode.REPL_ASYNC, c.clustering().cacheMode());
assertTrue(c.clustering().async().useReplQueue());
assertTrue(!c.clustering().async().asyncMarshalling());
assertTrue(!c.clustering().stateTransfer().fetchInMemoryState());
assertTrue(c.clustering().stateTransfer().awaitInitialTransfer());
c = cm.getCacheConfiguration("txSyncRepl");
assertTrue(c.transaction().transactionManagerLookup() instanceof GenericTransactionManagerLookup);
assertEquals(CacheMode.REPL_SYNC, c.clustering().cacheMode());
assertTrue(!c.clustering().stateTransfer().fetchInMemoryState());
assertTrue(c.clustering().stateTransfer().awaitInitialTransfer());
assertEquals(15000, c.clustering().sync().replTimeout());
c = cm.getCacheConfiguration("overriding");
assertEquals(CacheMode.LOCAL, c.clustering().cacheMode());
assertEquals(20000, c.locking().lockAcquisitionTimeout());
assertEquals(1000, c.locking().concurrencyLevel());
assertEquals(IsolationLevel.REPEATABLE_READ, c.locking().isolationLevel());
assertTrue(!c.storeAsBinary().enabled());
c = cm.getCacheConfiguration("storeAsBinary");
assertTrue(c.storeAsBinary().enabled());
c = cm.getCacheConfiguration("withFileStore");
assertTrue(c.loaders().preload());
assertTrue(!c.loaders().passivation());
assertTrue(!c.loaders().shared());
assertEquals(1, c.loaders().cacheLoaders().size());
FileCacheStoreConfiguration loaderCfg = (FileCacheStoreConfiguration) c.loaders().cacheLoaders().get(0);
assertTrue(loaderCfg.fetchPersistentState());
assertTrue(loaderCfg.ignoreModifications());
assertTrue(loaderCfg.purgeOnStartup());
assertEquals("/tmp/FileCacheStore-Location", loaderCfg.location());
assertEquals(FileCacheStoreConfigurationBuilder.FsyncMode.PERIODIC, loaderCfg.fsyncMode());
assertEquals(2000, loaderCfg.fsyncInterval());
assertEquals(20000, loaderCfg.singletonStore().pushStateTimeout());
assertTrue(loaderCfg.singletonStore().pushStateWhenCoordinator());
assertEquals(5, loaderCfg.async().threadPoolSize());
assertEquals(15000, loaderCfg.async().flushLockTimeout());
assertTrue(loaderCfg.async().enabled());
assertEquals(700, loaderCfg.async().modificationQueueSize());
c = cm.getCacheConfiguration("withClusterLoader");
assertEquals(1, c.loaders().cacheLoaders().size());
ClusterCacheLoaderConfiguration clusterLoaderCfg = (ClusterCacheLoaderConfiguration) c.loaders().cacheLoaders().get(0);
assertEquals(15000, clusterLoaderCfg.remoteCallTimeout());
c = cm.getCacheConfiguration("withLoaderDefaults");
loaderCfg = (FileCacheStoreConfiguration) c.loaders().cacheLoaders().get(0);
assertEquals("/tmp/Another-FileCacheStore-Location", loaderCfg.location());
assertEquals(FileCacheStoreConfigurationBuilder.FsyncMode.DEFAULT, loaderCfg.fsyncMode());
c = cm.getCacheConfiguration("withouthJmxEnabled");
assertTrue(!c.jmxStatistics().enabled());
assertTrue(gc.globalJmxStatistics().enabled());
assertTrue(gc.globalJmxStatistics().allowDuplicateDomains());
assertEquals("funky_domain", gc.globalJmxStatistics().domain());
assertTrue(gc.globalJmxStatistics().mbeanServerLookup() instanceof PerThreadMBeanServerLookup);
c = cm.getCacheConfiguration("dist");
assertEquals(CacheMode.DIST_SYNC, c.clustering().cacheMode());
assertEquals(600000, c.clustering().l1().lifespan());
if (deprecated) assertEquals(120000, c.clustering().hash().rehashRpcTimeout());