StartupEvent в Quarkus.md
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Struchkov Mark 2024-09-10 16:16:15 +03:00
parent 1075cfc688
commit 7ffb168e25
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
3 changed files with 79 additions and 4 deletions

View File

@ -46,13 +46,14 @@ steps:
- chmod 600 ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa
- ssh-keyscan -p $SSH_DEPLOY_PORT $SSH_DEPLOY_HOST >> ~/.ssh/known_hosts - ssh-keyscan -p $SSH_DEPLOY_PORT $SSH_DEPLOY_HOST >> ~/.ssh/known_hosts
- chmod 644 ~/.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/ru-new
- scp -r -P $SSH_DEPLOY_PORT ./public/* $SSH_DEPLOY_USER@$SSH_DEPLOY_HOST:$SSH_DEPLOY_PATH - 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 # drone sign --save upagge/digital-garden
--- ---
kind: signature kind: signature
hmac: f0242580342a4e8a52075fc770ff05987528783888bb326f14905fb04df6ade1 hmac: bc00fc89ca9caf24c6e86338bfbd98b44da44a0cb30b476ba8ae50881af35c49
... ...

View File

@ -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]]
**Автор**::
### Дополнительные материалы
-

View File

@ -13,3 +13,4 @@ parents:
linked: linked:
--- ---
- [Сборка Quarkus приложения в исполняемый файл](../../dev/java/quarkus/Сборка%20Quarkus%20приложения%20в%20исполняемый%20файл.md) - [Сборка Quarkus приложения в исполняемый файл](../../dev/java/quarkus/Сборка%20Quarkus%20приложения%20в%20исполняемый%20файл.md)
- [[../../dev/java/quarkus/StartupEvent в Quarkus|StartupEvent в Quarkus]]