本文整理了Java中org.infinispan.Cache.putAllAsync()
方法的一些代码示例,展示了Cache.putAllAsync()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Cache.putAllAsync()
方法的具体详情如下:
包路径:org.infinispan.Cache
类名称:Cache
方法名:putAllAsync
暂无
代码示例来源:origin: org.infinispan/infinispan-core
@Override
public <K> Future<?> perform(Cache<K, Object> cache, K key) {
Map<K, Object> map = new HashMap<>();
map.put(key, finalValue());
return cache.putAllAsync(map);
}
代码示例来源:origin: org.infinispan/infinispan-core
public void testAsyncOps() throws Exception {
CompletableFuture<Object> result = cache.putAsync("k", "v");
assert result.get() == null;
result = cache.removeAsync("k");
assert result.get().equals("v");
final CompletableFuture<Void> voidNotifyingFuture = cache.putAllAsync(Collections.singletonMap("k", "v"));
voidNotifyingFuture.get();
assert cache.get("k").equals("v");
}
}
代码示例来源:origin: org.infinispan/infinispan-core
public void testPutAllAsyncSingleKeyValue() throws Exception {
CompletableFuture<Void> f = c.putAllAsync(Collections.singletonMap("k", "v"));
assertFutureResult(f, null);
assertEquals("v", c.get("k"));
}
代码示例来源:origin: org.infinispan/infinispan-core
public void testPutAllAsyncMultipleKeyValue() throws Exception {
Map<String, String> map = new HashMap<>();
map.put("one-key", "one");
map.put("two-key", "two");
CompletableFuture<Void> putAllF = c.putAllAsync(map);
assertFutureResult(putAllF, null);
assertEquals("one", c.get("one-key"));
assertEquals("two", c.get("two-key"));
}
代码示例来源:origin: org.infinispan/infinispan-core
public void testPutAllAsyncWithLifespanAndMaxIdle() throws Exception {
// putAll lifespan only
Future<Void> f = c.putAllAsync(Collections.singletonMap("k", "v1"), 1000, TimeUnit.MILLISECONDS);
markStartTime();
assertFutureResult(f, null);
verifyEviction("k", "v1", 1000, 500, true);
// putAll lifespan and max idle (test max idle)
f = c.putAllAsync(Collections.singletonMap("k", "v2"), 3000, TimeUnit.MILLISECONDS, 1000, TimeUnit.MILLISECONDS);
markStartTime();
assertFutureResult(f, null);
verifyEviction("k", "v2", 1000, 500, false);
// putAll lifespan and max idle (test lifespan)
f = c.putAllAsync(Collections.singletonMap("k", "v3"), 3000, TimeUnit.MILLISECONDS, 1000, TimeUnit.MILLISECONDS);
markStartTime();
assertFutureResult(f, null);
verifyEviction("k", "v3", 3000, 500, true);
}
代码示例来源:origin: org.infinispan/infinispan-query
public void testAsyncOverwriteNotIndexedValue() throws Exception {
final long id = 10;
cache.put(id, new NotIndexedType("name1"));
Map<Object, Object> map = new HashMap<>();
map.put(id, new TestEntity("name2", "surname2", id, "note"));
Future futureTask = cache.putAllAsync(map);
futureTask.get();
assertTrue(futureTask.isDone());
CacheQuery<?> q1 = queryByNameField("name2", AnotherTestEntity.class);
assertEquals(1, q1.getResultSize());
assertEquals(TestEntity.class, q1.list().get(0).getClass());
StaticTestingErrorHandler.assertAllGood(cache);
}
代码示例来源:origin: org.infinispan/infinispan-query
public void testPutMapAsync() throws Exception {
prepareTestData();
SearchManager searchManager = Search.getSearchManager(cache2);
QueryBuilder queryBuilder = searchManager
.buildQueryBuilderForClass(Person.class)
.get();
Query allQuery = queryBuilder.all().createQuery();
assert searchManager.getQuery(allQuery, Person.class).list().size() == 3;
person4 = new Person();
person4.setName("New Goat");
person4.setBlurb("Also eats grass");
Map<String, Person> allWrites = new HashMap<>();
allWrites.put(key1, person1);
allWrites.put(key2, person2);
allWrites.put(key3, person3);
allWrites.put("newGoat", person4);
Future futureTask = cache2.putAllAsync(allWrites);
futureTask.get();
assert futureTask.isDone();
List<Person> found = searchManager.<Person>getQuery(allQuery, Person.class).list();
assertEquals(4, found.size());
assert found.contains(person4);
futureTask = cache1.putAllAsync(allWrites);
futureTask.get();
assert futureTask.isDone();
found = searchManager.<Person>getQuery(allQuery, Person.class).list();
assertEquals(4, found.size());
assert found.contains(person4);
StaticTestingErrorHandler.assertAllGood(cache1, cache2);
}
代码示例来源:origin: org.infinispan/infinispan-query
public void testAsyncOverwriteWithNonIndexedValue() throws Exception {
final long id = 10;
cache.put(id, new TestEntity("name1", "surname1", id, "note"));
CacheQuery<?> q1 = queryByNameField("name1", TestEntity.class);
assertEquals(1, q1.getResultSize());
assertEquals(TestEntity.class, q1.list().get(0).getClass());
Map<Object, Object> map = new HashMap<>();
map.put(id, new NotIndexedType("name2"));
Future futureTask = cache.putAllAsync(map);
futureTask.get();
assertTrue(futureTask.isDone());
CacheQuery<?> q2 = queryByNameField("name1", TestEntity.class);
assertEquals(0, q2.getResultSize());
CacheQuery<?> q3 = queryByNameField("name2", TestEntity.class);
assertEquals(0, q3.getResultSize());
StaticTestingErrorHandler.assertAllGood(cache);
}
代码示例来源:origin: org.infinispan/infinispan-core
final Future<Void> f2 = c1.putAllAsync(Collections.singletonMap(key, v3));
assert f2 != null;
eventually(f2::isDone);
代码示例来源:origin: org.infinispan/infinispan-core
private void testPutMapCommand(boolean sync, boolean putOnPrimary) throws Exception {
MagicKey key = new MagicKey("key", cache(0));
if (sync) {
cache(putOnPrimary ? 0 : 1).putAll(Collections.singletonMap(key, "value"));
} else {
Future<Void> f = cache(putOnPrimary ? 0 : 1).putAllAsync(Collections.singletonMap(key, "value"));
assertNotNull(f);
assertNull(f.get());
assertTrue(f.isDone());
assertFalse(f.isCancelled());
}
if (cacheMode.isScattered()) {
int hasValue = 0;
for (Cache c : caches()) {
Object value = c.getAdvancedCache().withFlags(Flag.SKIP_REMOTE_LOOKUP, Flag.SKIP_OWNERSHIP_CHECK).get(key);
if ("value".equals(value)) {
hasValue++;
} else assertNull(value);
}
assertEquals(2, hasValue);
} else {
assertEquals("value", cache(0).getAdvancedCache().withFlags(Flag.SKIP_REMOTE_LOOKUP).get(key));
assertEquals("value", cache(1).getAdvancedCache().withFlags(Flag.SKIP_REMOTE_LOOKUP).get(key));
assertEquals("value", cache(2).getAdvancedCache().withFlags(Flag.SKIP_REMOTE_LOOKUP).get(key));
}
}
}
内容来源于网络,如有侵权,请联系作者删除!