@Override public ConfigurationBuilder createConfigurationBuilder() { ConfigurationBuilder builder = super.createConfigurationBuilder(); builder.clustering().cacheMode(CacheMode.LOCAL); TransactionConfiguration transaction = this.transaction.getValue(); LockingConfiguration locking = this.locking.getValue(); PersistenceConfiguration persistence = this.persistence.getValue(); // Auto-enable simple cache optimization if cache is non-transactional and non-persistent builder.simpleCache( !transaction.transactionMode().isTransactional() && !persistence.usingStores()); if (InfinispanLogger.ROOT_LOGGER.isTraceEnabled() && builder.simpleCache()) { InfinispanLogger.ROOT_LOGGER.tracef( "Configuration for container '%s', cache '%s' will use simple cache optimization", this.containerName, this.cacheName); } if ((transaction.lockingMode() == LockingMode.OPTIMISTIC) && (locking.isolationLevel() == IsolationLevel.REPEATABLE_READ)) { builder.locking().writeSkewCheck(true); builder.versioning().enable().scheme(VersioningScheme.SIMPLE); } return builder; }
public void testEnableVersioning() { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.versioning().enable(); assert builder.build().versioning().enabled(); }