Правильно ли вызывать подписку в асинхронном контексте?JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Правильно ли вызывать подписку в асинхронном контексте?

Сообщение Гость »


Я храню ключи шифрования в базе данных Redis. Я хочу реализовать резервный механизм для генерации ключей, если они еще не присутствуют. Что меня смущает в решении, которое я придумал, так это то, что я вызываю subscribe в асинхронном контексте. Моя IDE указала мне на эту проблему. Итак, вопрос в том, как бы вы реализовали этот запасной вариант?
public Mono getEncryptionKey(Stringentity) { вернуть reactiveRedisOperations.opsForValue() .get("частный") .switchIfEmpty( Mono.create(stringMonoSink -> { пытаться { вар PrivateKeyEncoded = ... вар publicKeyEncoded = ... реактивныйRedisOperations.opsForValue() .multiSet(Map.of( "частный", PrivateKeyEncoded, "публичный", publicKeyEncoded )) .subscribe(успех -> { stringMonoSink.success(privateKeyEncoded); }); } catch (Throwable e) { stringMonoSink.error(e); } }) ); }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»