static CopyStrategyHandler getCopyStrategyHandler(final Ehcache cache) { if (cache.getCacheConfiguration().isXaTransactional() || cache.getCacheConfiguration().isXaStrictTransactional() || cache.getCacheConfiguration().isLocalTransactional()) { return new TxCopyStrategyHandler(cache.getCacheConfiguration().isCopyOnRead(), cache.getCacheConfiguration().isCopyOnWrite(), cache.getCacheConfiguration().getCopyStrategy(), cache.getCacheConfiguration().getClassLoader()); } else if (cache.getCacheConfiguration().isCopyOnRead() || cache.getCacheConfiguration().isCopyOnWrite()) { return new CopyStrategyHandler(cache.getCacheConfiguration().isCopyOnRead(), cache.getCacheConfiguration().isCopyOnWrite(), cache.getCacheConfiguration().getCopyStrategy(), cache.getCacheConfiguration().getClassLoader()); } else { return NO_COPY_STRATEGY_HANDLER; } }
/** * Factory method to wrap the MemoryStore into a BruteForceSource, accounting for transactional and copy * configuration * * @param memoryStore the underlying store acting as source * @param cacheConfiguration the cache configuration * @return a BruteForceSource connected to underlying MemoryStore and matching configuration */ protected static BruteForceSource createBruteForceSource(MemoryStore memoryStore, CacheConfiguration cacheConfiguration) { BruteForceSource source = new MemoryStoreBruteForceSource(memoryStore, cacheConfiguration.getSearchable()); CopyStrategyHandler copyStrategyHandler = new CopyStrategyHandler(cacheConfiguration.isCopyOnRead(), cacheConfiguration.isCopyOnWrite(), cacheConfiguration.getCopyStrategy(), cacheConfiguration.getClassLoader()); if (cacheConfiguration.getTransactionalMode().isTransactional()) { source = new TransactionalBruteForceSource(source, copyStrategyHandler); } else if (cacheConfiguration.isCopyOnRead() || cacheConfiguration.isCopyOnWrite()) { source = new CopyingBruteForceSource(source, copyStrategyHandler); } return source; }
private Element copyForReadIfNeeded(Element element) { ReadWriteCopyStrategy<Element> readWriteCopyStrategy = cacheConfiguration.getCopyStrategy(); if (readWriteCopyStrategy == null || skipCopyForRead()) { return element; } return readWriteCopyStrategy.copyForRead(element); }
private DiskBackedMemoryStore(CacheConfiguration cacheConfiguration, MemoryStore cache, DiskStore authority, SearchManager searchManager) { super(cache, authority, cacheConfiguration.getCopyStrategy(), searchManager, cacheConfiguration.isCopyOnWrite(), cacheConfiguration.isCopyOnRead()); }
/** * Create a MemoryOnlyStore * * @param cacheConfiguration the cache configuration * @param authority the memory store */ protected MemoryOnlyStore(CacheConfiguration cacheConfiguration, MemoryStore authority, SearchManager searchManager) { super(NullStore.create(), authority, cacheConfiguration.getCopyStrategy(), searchManager, cacheConfiguration.isCopyOnWrite(), cacheConfiguration.isCopyOnRead()); }
public static Store create( Ehcache cache, String diskStorePath, Pool<PoolableStore> onHeapPool, Pool<PoolableStore> onDiskPool ) { CacheConfiguration config = cache.getCacheConfiguration(); MemoryStore memoryStore = createMemoryStore( cache, onHeapPool ); DirectMemoryStore offHeapStore = createOffHeapStore( cache ); DiskStore diskStore = null; //need to implement disk backing to store. Store store = null; if ( diskStore == null ) { store = new FrontEndCacheTier<MemoryStore, DirectMemoryStore>( memoryStore, offHeapStore, config.getCopyStrategy(), new MockSearchManager(), config.isCopyOnWrite(), config.isCopyOnRead() ) { @Override public Object getMBean() { return this.authority.getMBean(); } }; } return store; }
static CopyStrategyHandler getCopyStrategyHandler(final Ehcache cache) { if (cache.getCacheConfiguration().isXaTransactional() || cache.getCacheConfiguration().isXaStrictTransactional() || cache.getCacheConfiguration().isLocalTransactional()) { return new TxCopyStrategyHandler(cache.getCacheConfiguration().isCopyOnRead(), cache.getCacheConfiguration().isCopyOnWrite(), cache.getCacheConfiguration().getCopyStrategy(), cache.getCacheConfiguration().getClassLoader()); } else if (cache.getCacheConfiguration().isCopyOnRead() || cache.getCacheConfiguration().isCopyOnWrite()) { return new CopyStrategyHandler(cache.getCacheConfiguration().isCopyOnRead(), cache.getCacheConfiguration().isCopyOnWrite(), cache.getCacheConfiguration().getCopyStrategy(), cache.getCacheConfiguration().getClassLoader()); } else { return NO_COPY_STRATEGY_HANDLER; } }
/** * Factory method to wrap the MemoryStore into a BruteForceSource, accounting for transactional and copy * configuration * * @param memoryStore the underlying store acting as source * @param cacheConfiguration the cache configuration * @return a BruteForceSource connected to underlying MemoryStore and matching configuration */ protected static BruteForceSource createBruteForceSource(MemoryStore memoryStore, CacheConfiguration cacheConfiguration) { BruteForceSource source = new MemoryStoreBruteForceSource(memoryStore, cacheConfiguration.getSearchable()); CopyStrategyHandler copyStrategyHandler = new CopyStrategyHandler(cacheConfiguration.isCopyOnRead(), cacheConfiguration.isCopyOnWrite(), cacheConfiguration.getCopyStrategy(), cacheConfiguration.getClassLoader()); if (cacheConfiguration.getTransactionalMode().isTransactional()) { source = new TransactionalBruteForceSource(source, copyStrategyHandler); } else if (cacheConfiguration.isCopyOnRead() || cacheConfiguration.isCopyOnWrite()) { source = new CopyingBruteForceSource(source, copyStrategyHandler); } return source; }
/** * Factory method to wrap the MemoryStore into a BruteForceSource, accounting for transactional and copy * configuration * * @param memoryStore the underlying store acting as source * @param cacheConfiguration the cache configuration * @return a BruteForceSource connected to underlying MemoryStore and matching configuration */ protected static BruteForceSource createBruteForceSource(MemoryStore memoryStore, CacheConfiguration cacheConfiguration) { BruteForceSource source = new MemoryStoreBruteForceSource(memoryStore, cacheConfiguration.getSearchable()); CopyStrategyHandler copyStrategyHandler = new CopyStrategyHandler(cacheConfiguration.isCopyOnRead(), cacheConfiguration.isCopyOnWrite(), cacheConfiguration.getCopyStrategy(), cacheConfiguration.getClassLoader()); if (cacheConfiguration.getTransactionalMode().isTransactional()) { source = new TransactionalBruteForceSource(source, copyStrategyHandler); } else if (cacheConfiguration.isCopyOnRead() || cacheConfiguration.isCopyOnWrite()) { source = new CopyingBruteForceSource(source, copyStrategyHandler); } return source; }