javax.cache.Cache.iterator()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(10.2k)|赞(0)|评价(0)|浏览(140)

本文整理了Java中javax.cache.Cache.iterator()方法的一些代码示例,展示了Cache.iterator()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Cache.iterator()方法的具体详情如下:
包路径:javax.cache.Cache
类名称:Cache
方法名:iterator

Cache.iterator介绍

[英]The ordering of iteration over entries is undefined.

During iteration, any entries that are a). read will have their appropriate CacheEntryReadListeners notified and b). removed will have their appropriate CacheEntryRemoveListeners notified.

java.util.Iterator#next() may return null if the entry is no longer present, has expired or has been evicted.
[中]

代码示例

代码示例来源:origin: ehcache/ehcache3

Iterator<Cache.Entry<Number, CharSequence>> iterator = testCache.iterator();
assertThat(iterator.hasNext(), is(true));

代码示例来源:origin: ehcache/ehcache3

@Test
public void iterator() {
 cache.put(1, "a");
 cache.put(2, "b");
 changesOf(0, 0, 2, 0);
 Iterator<Cache.Entry<Integer, String>> iterator = cache.iterator();
 changesOf(0, 0, 0, 0);
 iterator.next().getKey();
 changesOf(1, 0, 0, 0);
 expect(iterator.hasNext()).isTrue();
 changesOf(0, 0, 0, 0);
 iterator.next().getKey();
 changesOf(1, 0, 0, 0);
 expect(iterator.hasNext()).isFalse();
 changesOf(0, 0, 0, 0);
 iterator.remove();
 changesOf(0, 0, 0, 1);
}

代码示例来源:origin: org.apache.camel/camel-jcache

@Override
public Set<String> getKeys() {
  Set<String> keys = new HashSet<>();
  Iterator<Cache.Entry<String, DefaultExchangeHolder>> entries = cache.iterator();
  while (entries.hasNext()) {
    keys.add(entries.next().getKey());
  }
  return Collections.unmodifiableSet(keys);
}

代码示例来源:origin: com.github.bordertech.wcomponents/wcomponents-core

/**
 * {@inheritDoc}
 */
@Override
public Iterator enumerateKeys() {
  return getCache().iterator();
}

代码示例来源:origin: apache/cxf

@Override
public List<Client> getClients(UserSubject resourceOwner) {
  List<Client> clients = new ArrayList<>();
  for (Iterator<Cache.Entry<String, Client>> it = clientCache.iterator(); it.hasNext();) {
    Cache.Entry<String, Client> entry = it.next();
    Client client = entry.getValue();
    if (isClientMatched(client, resourceOwner)) {
      clients.add(client);
    }
  }
  return clients;
}

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-security-oauth2

@Override
public List<Client> getClients(UserSubject resourceOwner) {
  List<Client> clients = new ArrayList<>();
  for (Iterator<Cache.Entry<String, Client>> it = clientCache.iterator(); it.hasNext();) {
    Cache.Entry<String, Client> entry = it.next();
    Client client = entry.getValue();
    if (isClientMatched(client, resourceOwner)) {
      clients.add(client);
    }
  }
  return clients;
}

代码示例来源:origin: hazelcast/hazelcast-code-samples

/**
 * print all of the content of the cache using Iterator, if expires or not exist you will see no value
 */
void printContentWithIterator(Cache<String, Integer> cache) {
  System.out.println("==============>  " + cache.getName() + "  <=====================");
  Iterator<Cache.Entry<String, Integer>> iterator = cache.iterator();
  while (iterator.hasNext()) {
    Cache.Entry<String, Integer> next = iterator.next();
    System.out.println("Key: " + next.getKey() + ", Value: " + next.getValue());
  }
  System.out.println("============================================================");
}

代码示例来源:origin: hazelcast/hazelcast-code-samples

@Override
  public void run() {
    while (!Thread.interrupted()) {
      Iterator<Cache.Entry<String, Integer>> iterator = cacheAtCluster.iterator();
      while (iterator.hasNext()) {
        Cache.Entry<String, Integer> entry = iterator.next();
        // value maybe null which means it is expired
        if (entry.getValue() != null) {
          // poor entry just remove
          iterator.remove();
          // do something with entry, save to db etc.
        }
      }
      if (!sleepMillis(1000)) {
        return;
      }
    }
  }
});

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-security-oauth2

protected static <K, V extends ServerAccessToken> List<V> getTokens(Cache<K, V> cache,
                                 Client client, UserSubject sub) {
  final Set<K> toRemove = new HashSet<>();
  final List<V> tokens = new ArrayList<>();
  for (Iterator<Cache.Entry<K, V>> it = cache.iterator(); it.hasNext();) {
    Cache.Entry<K, V> entry = it.next();
    V token = entry.getValue();
    if (isExpired(token)) {
      toRemove.add(entry.getKey());
    } else if (isTokenMatched(token, client, sub)) {
      tokens.add(token);
    }
  }
  cache.removeAll(toRemove);
  return tokens;
}

代码示例来源:origin: apache/cxf

protected static <K, V extends ServerAccessToken> List<V> getTokens(Cache<K, V> cache,
                                 Client client, UserSubject sub) {
  final Set<K> toRemove = new HashSet<>();
  final List<V> tokens = new ArrayList<>();
  for (Iterator<Cache.Entry<K, V>> it = cache.iterator(); it.hasNext();) {
    Cache.Entry<K, V> entry = it.next();
    V token = entry.getValue();
    if (isExpired(token)) {
      toRemove.add(entry.getKey());
    } else if (isTokenMatched(token, client, sub)) {
      tokens.add(token);
    }
  }
  cache.removeAll(toRemove);
  return tokens;
}

代码示例来源:origin: apache/cxf

@Override
public List<ServerAuthorizationCodeGrant> getCodeGrants(Client c, UserSubject sub) {
  final Set<String> toRemove = new HashSet<>();
  final List<ServerAuthorizationCodeGrant> grants = new ArrayList<>();
  for (Iterator<Cache.Entry<String, ServerAuthorizationCodeGrant>> it = grantCache.iterator(); it.hasNext();) {
    Cache.Entry<String, ServerAuthorizationCodeGrant> entry = it.next();
    ServerAuthorizationCodeGrant grant = entry.getValue();
    if (isExpired(grant)) {
      toRemove.add(entry.getKey());
    } else if (AbstractCodeDataProvider.isCodeMatched(grant, c, sub)) {
      grants.add(grant);
    }
  }
  grantCache.removeAll(toRemove);
  return grants;
}

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-security-oauth2

@Override
public List<ServerAuthorizationCodeGrant> getCodeGrants(Client c, UserSubject sub) {
  final Set<String> toRemove = new HashSet<>();
  final List<ServerAuthorizationCodeGrant> grants = new ArrayList<>();
  for (Iterator<Cache.Entry<String, ServerAuthorizationCodeGrant>> it = grantCache.iterator(); it.hasNext();) {
    Cache.Entry<String, ServerAuthorizationCodeGrant> entry = it.next();
    ServerAuthorizationCodeGrant grant = entry.getValue();
    if (isExpired(grant)) {
      toRemove.add(entry.getKey());
    } else if (AbstractCodeDataProvider.isCodeMatched(grant, c, sub)) {
      grants.add(grant);
    }
  }
  grantCache.removeAll(toRemove);
  return grants;
}

代码示例来源:origin: apache/cxf

protected List<ServerAccessToken> getJwtAccessTokens(Client client, UserSubject sub) {
  final Set<String> toRemove = new HashSet<>();
  final List<ServerAccessToken> tokens = new ArrayList<>();
  for (Iterator<Cache.Entry<String, String>> it = jwtAccessTokenCache.iterator(); it.hasNext();) {
    Cache.Entry<String, String> entry = it.next();
    String jose = entry.getValue();
    JoseJwtConsumer theConsumer = jwtTokenConsumer == null ? new JoseJwtConsumer() : jwtTokenConsumer;
    ServerAccessToken token = JwtTokenUtils.createAccessTokenFromJwt(theConsumer, jose, this,
                                        super.getJwtAccessTokenClaimMap());
    if (isExpired(token)) {
      toRemove.add(entry.getKey());
    } else if (isTokenMatched(token, client, sub)) {
      tokens.add(token);
    }
  }
  jwtAccessTokenCache.removeAll(toRemove);
  return tokens;
}

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-security-oauth2

protected List<ServerAccessToken> getJwtAccessTokens(Client client, UserSubject sub) {
  final Set<String> toRemove = new HashSet<>();
  final List<ServerAccessToken> tokens = new ArrayList<>();
  for (Iterator<Cache.Entry<String, String>> it = jwtAccessTokenCache.iterator(); it.hasNext();) {
    Cache.Entry<String, String> entry = it.next();
    String jose = entry.getValue();
    JoseJwtConsumer theConsumer = jwtTokenConsumer == null ? new JoseJwtConsumer() : jwtTokenConsumer;
    ServerAccessToken token = JwtTokenUtils.createAccessTokenFromJwt(theConsumer, jose, this,
                                        super.getJwtAccessTokenClaimMap());
    if (isExpired(token)) {
      toRemove.add(entry.getKey());
    } else if (isTokenMatched(token, client, sub)) {
      tokens.add(token);
    }
  }
  jwtAccessTokenCache.removeAll(toRemove);
  return tokens;
}

代码示例来源:origin: org.infinispan/infinispan-core

private <K> void doIterator(Supplier<K> keySupplier,
   Cache<K, String> map1, Cache<K, String> map2) {
 K key1 = keySupplier.get(), key2 = keySupplier.get(), key3 = keySupplier.get(),
   key4 = keySupplier.get(), key5 = keySupplier.get(), key6 = keySupplier.get();
 assertFalse(map1.iterator().hasNext());
 Map<K, String> data = new HashMap<>();
 data.put(key1, "one");
 data.put(key2, "two");
 data.put(key3, "three");
 data.put(key4, "four");
 data.put(key5, "five");
 data.put(key6, "five");
 map2.putAll(data);
 Map<K, String> res0 = new HashMap<>();
 for (Cache.Entry<K, String> e : map1)
   res0.put(e.getKey(), e.getValue());
 assertEquals(data, res0);
 map2.clear();
}

代码示例来源:origin: javax.cache/cache-tests

/**
 * Will fail unless CacheEntryImpl specified in pom.xml
 */
@Test
public void testCacheEntryUnwrap() {
 final Class<?> unwrapClass = getUnwrapClass(Cache.Entry.class);
 cache.put(1l, "Tonto");
 Cache.Entry entry = cache.iterator().next();
 final Object unwrappedCacheEntry = entry.unwrap(unwrapClass);
 assertTrue(unwrapClass.isAssignableFrom(unwrappedCacheEntry.getClass()));
}

代码示例来源:origin: javax.cache/cache-tests

@Test
public void iterator() {
 LinkedHashMap<Long, String> data = createLSData(3);
 cache.putAll(data);
 Iterator<Cache.Entry<Long, String>> iterator = cache.iterator();
 while (iterator.hasNext()) {
  Cache.Entry<Long, String> next = iterator.next();
  assertEquals(next.getValue(), data.get(next.getKey()));
  iterator.remove();
  data.remove(next.getKey());
 }
 assertTrue(data.isEmpty());
}

代码示例来源:origin: javax.cache/cache-tests

@Test
public void iterator_Empty() {
 Iterator<Cache.Entry<Long, String>> iterator = cache.iterator();
 assertFalse(iterator.hasNext());
 try {
  iterator.remove();
  fail();
 } catch (IllegalStateException e) {
  //good
 }
 try {
  iterator.next();
  fail();
 } catch (NoSuchElementException e) {
  //good
 }
}

代码示例来源:origin: javax.cache/cache-tests

@Test
public void iterator_Closed() {
 cache.close();
 try {
  cache.iterator();
  fail("should have thrown an exception - cache closed");
 } catch (IllegalStateException e) {
  //good
 }
}

代码示例来源:origin: org.apache.tomee.patch/commons-jcs-jcache-extras

@Test
  public void checkWriteAllAndDeleteAll()
  {
    assertTrue(copy.isEmpty());
    assertFalse(cache.iterator().hasNext());
    cache.put("foo", "bar");
    assertEquals(1, copy.size());
    cache.remove("foo");
    assertTrue(copy.isEmpty());

    cache.putAll(new HashMap<String, String>() {{
      put("a", "b");
      put("b", "c");
    }});
    assertEquals(2, copy.size());
    cache.removeAll(new HashSet<String>(asList("a", "b")));
    assertTrue(copy.isEmpty());
  }
}

相关文章