@Test(expectedExceptions = UnsupportedOperationException.class, expectedExceptionsMessageRegExp = "Clustered queries do not support timeouts yet.") public void testClusteredQueryCacheTimeout() throws Exception { SearchManager searchManager = Search.getSearchManager(cache1); QueryParser queryParser = createQueryParser("bar"); org.apache.lucene.search.Query luceneQuery = queryParser.parse("fakebar"); CacheQuery<?> query = searchManager.getQuery(luceneQuery, IndexedQueryMode.BROADCAST, Foo.class); query.timeout(1, TimeUnit.NANOSECONDS); }
@Test public void timeoutExceptionIsThrownAndIsProducedByMyFactory() throws Exception { SearchManagerImplementor searchManager = (SearchManagerImplementor) Search.getSearchManager(cache); searchManager.setTimeoutExceptionFactory(new MyTimeoutExceptionFactory()); Query query = searchManager.buildQueryBuilderForClass(Foo.class).get() .keyword().onField("bar").matching("1") .createQuery(); CacheQuery<?> cacheQuery = searchManager.getQuery(query); cacheQuery.timeout(1, TimeUnit.NANOSECONDS); try { cacheQuery.list(); fail("Expected MyTimeoutException"); } catch (MyTimeoutException e) { } }