Ниже приведен код для асинхронного получения данных из Redis. По умолчанию вызов get () в библиотеке салата использует пул потоков nio-событий.
Код 1:
StatefulRedisConnection<String, String> connection = redisClient.connect();
RedisAsyncCommands<String, String> command = connection.async();
CompletionStage<String> result = command.get(id)
.thenAccept(code ->
logger.log(Level.INFO, "Thread Id " + Thread.currentThread().getName());
//Sample code to print thread ID
Идентификатор потока напечатан lettuce-nioEventL oop -6- 2 .
Код 2:
CompletionStage<String> result = command.get(id)
.thenAcceptAsync(code -> {
logger.log(Level.INFO, "Thread Id " + Thread.currentThread().getName());
//my original code
}, executors);
Идентификационный номер нити: pool-1-thread-1 .
Мои вопросы:
- Есть ли способ передать моих исполнителей?
- Рекомендуется ли использовать пул потоков событий nio для получения (с помощью вызова get ()) данных из redis?
Версия салата: 5.2.2.RELEASE
спасибо, Ашок