From 7ffb168e25b7376cc89becda5081d5fc1aea614c Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Tue, 10 Sep 2024 16:16:15 +0300 Subject: [PATCH] =?UTF-8?q?StartupEvent=20=D0=B2=20Quarkus.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 7 ++- dev/java/quarkus/StartupEvent в Quarkus.md | 73 ++++++++++++++++++++++ meta/zero/00 Quarkus.md | 3 +- 3 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 dev/java/quarkus/StartupEvent в Quarkus.md diff --git a/.drone.yml b/.drone.yml index 95d2d147..ebf84a61 100644 --- a/.drone.yml +++ b/.drone.yml @@ -46,13 +46,14 @@ steps: - chmod 600 ~/.ssh/id_rsa - ssh-keyscan -p $SSH_DEPLOY_PORT $SSH_DEPLOY_HOST >> ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts - - ssh -p $SSH_DEPLOY_PORT $SSH_DEPLOY_USER@$SSH_DEPLOY_HOST "rm -rf $SSH_DEPLOY_PATH/*" - - scp -r -P $SSH_DEPLOY_PORT ./public/* $SSH_DEPLOY_USER@$SSH_DEPLOY_HOST:$SSH_DEPLOY_PATH + - scp -r -P $SSH_DEPLOY_PORT ./public/* $SSH_DEPLOY_USER@$SSH_DEPLOY_HOST:$SSH_DEPLOY_PATH/ru-new + - ssh -p $SSH_DEPLOY_PORT $SSH_DEPLOY_USER@$SSH_DEPLOY_HOST "rm -rf $SSH_DEPLOY_PATH/ru" + - ssh -p $SSH_DEPLOY_PORT $SSH_DEPLOY_USER@$SSH_DEPLOY_HOST "mv $SSH_DEPLOY_PATH/ru-new $SSH_DEPLOY_PATH/ru" # drone sign --save upagge/digital-garden --- kind: signature -hmac: f0242580342a4e8a52075fc770ff05987528783888bb326f14905fb04df6ade1 +hmac: bc00fc89ca9caf24c6e86338bfbd98b44da44a0cb30b476ba8ae50881af35c49 ... diff --git a/dev/java/quarkus/StartupEvent в Quarkus.md b/dev/java/quarkus/StartupEvent в Quarkus.md new file mode 100644 index 00000000..6fec06ab --- /dev/null +++ b/dev/java/quarkus/StartupEvent в Quarkus.md @@ -0,0 +1,73 @@ +--- +aliases: +tags: + - maturity/🌱 +date: 2024-09-10 +zero-link: + - "[[../../../meta/zero/00 Quarkus|00 Quarkus]]" + - "[[../../../meta/zero/00 Снипеты для Java|00 Снипеты для Java]]" +parents: +linked: +--- +`StartupEvent` позволяет выполнить операции после запуска сервиса + +```java +@ApplicationScoped +public class StartUp { + + void onStart(@Observes StartupEvent event) { + + } + +} +``` + +Но может возникнуть проблема с контекстом кваркуса. + +```log +ERROR [io.qua.mut.run.MutinyInfrastructure] - Mutiny had to drop the following exception: java.lang.IllegalStateException: No current Vertx context found +``` + +Для ее решения можно сделать следующее: + +```java +@ApplicationScoped +public class StartUp { + + void onStart(@Observes StartupEvent event) { + Unis.voidItem() + .emitOn(MutinyHelper.executor(vertx)) + .subscribe().with( + ok -> {}, + th -> {} + ) + } + +} + +@UtilityClass +public class VertxHelper { + + public static Executor getExecutor(Vertx vertx) { + final Context currentContext = Vertx.currentContext(); + if (checkNotNull(currentContext)) { + return MutinyHelper.executor(currentContext); + } else { + return MutinyHelper.executor(vertx); + } + } + +} +``` + +В самом начале пайпа мы добавляем `.emitOn(MutinyHelper.executor(vertx))`, который создает нам контекст. + +*** +## Мета информация +**Область**:: +**Родитель**:: +**Источник**:: +**Создана**:: [[2024-09-10]] +**Автор**:: +### Дополнительные материалы +- \ No newline at end of file diff --git a/meta/zero/00 Quarkus.md b/meta/zero/00 Quarkus.md index a7968fae..a595de31 100644 --- a/meta/zero/00 Quarkus.md +++ b/meta/zero/00 Quarkus.md @@ -12,4 +12,5 @@ zero-link: parents: linked: --- -- [Сборка Quarkus приложения в исполняемый файл](../../dev/java/quarkus/Сборка%20Quarkus%20приложения%20в%20исполняемый%20файл.md) \ No newline at end of file +- [Сборка Quarkus приложения в исполняемый файл](../../dev/java/quarkus/Сборка%20Quarkus%20приложения%20в%20исполняемый%20файл.md) +- [[../../dev/java/quarkus/StartupEvent в Quarkus|StartupEvent в Quarkus]] \ No newline at end of file