У меня есть код ниже для асинхронного получения данных из Redis. По умолчанию вызов get () в библиотеке салата использует пул потоков nio-event.
Код 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-nioEventLoop-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-event для получения (с помощью вызова get ()) данных из Redis?
Версия салата: 5.2.2.RELEASE
спасибо ашок