/** * Starting point to create a Directory instance. * * @param metadataCache contains the metadata of stored elements * @param chunksCache cache containing the bulk of the index; this is the larger part of data * @param distLocksCache cache to store locks; should be replicated and not using a persistent CacheStore * @param indexName identifies the index; you can store different indexes in the same set of caches using different identifiers */ public static BuildContext newDirectoryInstance(Cache<?, ?> metadataCache, Cache<?, ?> chunksCache, Cache<?, ?> distLocksCache, String indexName) { return new DirectoryBuilderImpl(metadataCache, chunksCache, distLocksCache, indexName); }
/** * Starting point to create a Directory instance. * * @param metadataCache contains the metadata of stored elements * @param chunksCache cache containing the bulk of the index; this is the larger part of data * @param distLocksCache cache to store locks; should be replicated and not using a persistent CacheStore * @param indexName identifies the index; you can store different indexes in the same set of caches using * different identifiers */ public static BuildContext newDirectoryInstance(Cache<?, ?> metadataCache, Cache<?, ?> chunksCache, Cache<?, ?> distLocksCache, String indexName) { validateIndexCaches(indexName, metadataCache, chunksCache, distLocksCache); return new DirectoryBuilderImpl(metadataCache, chunksCache, distLocksCache, indexName); }
/** * Starting point to create a Directory instance. * * @param metadataCache contains the metadata of stored elements * @param chunksCache cache containing the bulk of the index; this is the larger part of data * @param distLocksCache cache to store locks; should be replicated and not using a persistent CacheStore * @param indexName identifies the index; you can store different indexes in the same set of caches using * different identifiers */ public static BuildContext newDirectoryInstance(Cache<?, ?> metadataCache, Cache<?, ?> chunksCache, Cache<?, ?> distLocksCache, String indexName) { validateIndexCaches(indexName, metadataCache, chunksCache, distLocksCache); return new DirectoryBuilderImpl(metadataCache, chunksCache, distLocksCache, indexName); }
@Test(expectedExceptions = CacheException.class, expectedExceptionsMessageRegExp = "Failed looking up TransactionManager. Check if any transaction manager is associated with Infinispan cache: 'lucene'") public void testLuceneIndexLockingWithCache() throws IOException { final String commonIndexName = "myIndex"; Cache cache1 = cache(0, "lucene"); LockFactory lockFactory = makeLockFactory(); lockFactory.obtainLock(new DirectoryBuilderImpl(cache1,cache1,cache1,commonIndexName).create(),"myLock"); }
@Test(expectedExceptions = CacheException.class, expectedExceptionsMessageRegExp = "Failed looking up TransactionManager: the cache is not running") public void testLuceneIndexLockingWithStoppedCache() throws IOException { final String commonIndexName = "myIndex"; Cache cache1 = cache(0, "lucene"); cache(0, "lucene").stop(); cache(1, "lucene").stop(); TestingUtil.killCacheManagers(cacheManagers); LockFactory lockFactory = makeLockFactory(); lockFactory.obtainLock(new DirectoryBuilderImpl(cache1,cache1,cache1,commonIndexName).create(),"myLock"); }