1.8 KiB
1.8 KiB
aliases | tags | date | zero-link | parents | linked | |||
---|---|---|---|---|---|---|---|---|
|
2024-09-10 |
|
StartupEvent
позволяет выполнить операции после запуска сервиса
@ApplicationScoped
public class StartUp {
void onStart(@Observes StartupEvent event) {
}
}
Но может возникнуть проблема с контекстом кваркуса.
ERROR [io.qua.mut.run.MutinyInfrastructure] - Mutiny had to drop the following exception: java.lang.IllegalStateException: No current Vertx context found
Для ее решения можно сделать следующее:
@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 Автор::