try (Batch batch = this.batcher.createBatch()) { try (CloseableIterator<Map.Entry<T, Set<Address>>> entries = this.cache.entrySet().iterator()) { while (entries.hasNext()) { Map.Entry<T, Set<Address>> entry = entries.next(); Set<Address> addresses = entry.getValue();
private void schedule(Locality oldLocality, Locality newLocality) { SessionMetaDataFactory<InfinispanSessionMetaData<L>, L> metaDataFactory = this.factory.getMetaDataFactory(); // Iterate over sessions in memory try (CloseableIterator<Key<String>> keys = this.cache.getAdvancedCache().withFlags(Flag.CACHE_MODE_LOCAL, Flag.SKIP_CACHE_LOAD).keySet().iterator()) { while (keys.hasNext()) { if (Thread.currentThread().isInterrupted()) break; Key<String> key = keys.next(); // If we are the new primary owner of this session then schedule expiration of this session locally if (this.filter.test(key) && !oldLocality.isLocal(key) && newLocality.isLocal(key)) { String id = key.getValue(); try (Batch batch = this.batcher.createBatch()) { try { // We need to lookup the session to obtain its meta data InfinispanSessionMetaData<L> value = metaDataFactory.tryValue(id); if (value != null) { this.scheduler.schedule(id, metaDataFactory.createImmutableSessionMetaData(id, value)); } return; } catch (CacheException e) { batch.discard(); } } } } } } }
@Override public boolean hasNext() { return entryIterator.hasNext(); }
public boolean hasNext() { return iterator.hasNext(); } public Object next() {
@Override public boolean hasNext() { return iterator.hasNext(); }
try(CloseableIterator iterator = dao.findAll()) { while(iterator.hasNext()){ process(iterator.next()); } }
@Override public ByteBuf bulkGetKeysResponse(HotRodHeader header, HotRodServer server, ByteBufAllocator alloc, CloseableIterator<byte[]> iterator) { ByteBuf buf = writeHeader(header, server, alloc, OperationStatus.Success); while (iterator.hasNext()) { byte[] key = iterator.next(); buf.writeByte(1); // Not done ExtendedByteBuf.writeRangedBytes(key, buf); } buf.writeByte(0); // Done return buf; }
@Override public ByteBuf bulkGetKeysResponse(HotRodHeader header, HotRodServer server, ByteBufAllocator alloc, CloseableIterator<byte[]> iterator) { ByteBuf buf = writeHeader(header, server, alloc, OperationStatus.Success); while (iterator.hasNext()) { buf.writeByte(1); ExtendedByteBuf.writeRangedBytes(iterator.next(), buf); } buf.writeByte(0); return buf; }
@SuppressWarnings({ "rawtypes", "unchecked" }) public Map getAllElements() { CloseableIterator<Map.Entry<Object, Object>> values = getJBossCache().entrySet().iterator(); Map output = new HashMap(); while (values.hasNext()) { Map.Entry<Object, Object> curr = values.next(); output.put(curr.getKey(), curr.getValue()); } return output; }
@SuppressWarnings({ "rawtypes", "unchecked" }) public Set getAllKeys() { CloseableIterator<Object> values = getJBossCache().keySet().iterator(); Set output = new HashSet(); while (values.hasNext()) { output.add(values.next()); } return output; }
@SuppressWarnings({ "rawtypes", "unchecked" }) public Set getAllValues() { CloseableIterator<Object> values = getJBossCache().values().iterator(); Set output = new HashSet(); while (values.hasNext()) { output.add(values.next()); } return output; }
/** * Iterates over all the entries provided by the iterator and puts them in a Map. */ private Map<Object, ObjectFilter.FilterResult> mapFromIterator(CloseableIterator<Map.Entry<Object, ObjectFilter.FilterResult>> iterator) { try { Map<Object, ObjectFilter.FilterResult> result = new HashMap<>(); while (iterator.hasNext()) { Map.Entry<Object, ObjectFilter.FilterResult> entry = iterator.next(); result.put(entry.getKey(), entry.getValue()); } return result; } finally { iterator.close(); } } }
public static void removeAll(AdvancedCache cache) { CloseableIterator it = cache.keySet().iterator(); try { while (it.hasNext()) { // Cannot use it.next(); it.remove() due to ISPN-5653 cache.remove(it.next()); } } finally { it.close(); } }
private Map<Object, Object> iteratorToMap(CloseableIterator<Entry<Object, Object>> iterator) { Map<Object, Object> entryMap = new HashMap<>(); try { while (iterator.hasNext()) { Entry<Object, Object> next = iterator.next(); entryMap.put(next.getKey(), next.getValue()); } } finally { assertNotNull(iterator); iterator.close(); } return entryMap; }
/** * Brings all data from the distributed cache into our local cache. */ private void populateLocalCache() { CloseableIterator iterator = cache.keySet().iterator(); try { while (iterator.hasNext()) { get(null, iterator.next()); } } finally { iterator.close(); } }
@Override public void removeAll() { checkNotClosed(); try (CloseableIterator<K> it = cacheWithoutStats.keySet().iterator()) { while (it.hasNext()) { remove(it.next()); } } //FIXME locks }
@Test public void testIteratorWithQueryAndProjections() { remoteCache.put(1, createUser1()); remoteCache.put(2, createUser2()); QueryFactory qf = Search.getQueryFactory(remoteCache); Query simpleQuery = qf.from(User.class).select("surname", "name").having("name").eq("Tom").build(); List<Map.Entry<Object, Object>> entries = new ArrayList<>(1); try (CloseableIterator<Map.Entry<Object, Object>> iter = remoteCache.retrieveEntriesByQuery(simpleQuery, null, 3)) { while (iter.hasNext()) { entries.add(iter.next()); } } assertEquals(1, entries.size()); Object[] projections = (Object[]) entries.get(0).getValue(); assertEquals("Cat", projections[0]); assertEquals("Tom", projections[1]); }
public void testRetrievalWhenPartitionIsDegradedButLocal() { Cache<MagicKey, String> cache0 = cache(0); cache0.put(new MagicKey(cache(1), cache(2)), "not-local"); cache0.put(new MagicKey(cache(0), cache(1)), "local"); splitCluster(new int[]{0, 1}, new int[]{2, 3}); partition(0).assertDegradedMode(); try (CloseableIterator<Map.Entry<MagicKey, String>> iterator = Closeables.iterator(cache0.getAdvancedCache() .withFlags(Flag.CACHE_MODE_LOCAL).entrySet().stream())) { assertEquals("local", iterator.next().getValue()); assertFalse(iterator.hasNext()); } }
public void testKeySetIteratorRemoveInExplicitTx() throws Exception { assertEquals(0, cache.size()); cache.put("k1", "v1"); TransactionManager tm = TestingUtil.getTransactionManager(cache); withTx(tm, () -> { for (CloseableIterator<Object> entryIterator = cache.keySet().iterator(); entryIterator.hasNext(); ) { entryIterator.next(); entryIterator.remove(); assertEquals(0, cache.size()); } tm.setRollbackOnly(); return null; }); }
@Override public void testRetrievalWhenPartitionIsDegradedButLocal() { Cache<MagicKey, String> cache0 = cache(0); cache0.put(new MagicKey(cache(1), cache(2)), "not-local"); cache0.put(new MagicKey(cache(0), cache(1)), "local"); splitCluster(new int[]{0, 1}, new int[]{2, 3}); partition(0).assertDegradedMode(); try (CloseableIterator<Map.Entry<MagicKey, String>> iterator = Closeables.iterator(cache0.getAdvancedCache() .withFlags(Flag.CACHE_MODE_LOCAL).entrySet().stream())) { assertNotNull(iterator.next()); assertNotNull(iterator.next()); assertFalse(iterator.hasNext()); } } }