Quarkus — открыть соединение с базой данных во время выполнения

#java #quarkus #graalvm-native-image

#java #quarkus #graalvm-native-изображение

Вопрос:

Возможно ли открыть соединение с базой данных во время выполнения с помощью драйверов quarkus jdbc? Если да, то как бы я это сделал? Также будет ли механизм работать с собственными изображениями?

По сути, я хочу получить объект подключения к базе данных, чтобы я мог выполнить пользовательский запрос.

Ответ №1:

Вы можете переопределить некоторые свойства во время выполнения. Вы можете просмотреть их здесь:

источники данных quarkus

Ответ №2:

время выполнения звучит запутанно. Вы можете переопределить перед запуском приложения. Представьте себе случай, у вас есть url_XXX и url_YYY . Вы можете запустить приложение с

 -Dquarkus.datasource.jdbc.url=url_XXX
 

и получите источник данных с подключением к url_XXX. Нет возможности установить соединение url_YYY во время выполнения. Вам придется перезапустить приложение с

 -Dquarkus.datasource.jdbc.url=url_YYY
 

для подключения к другой базе данных.

Другим вариантом было бы использовать именованные источники данных, но все же вы должны определить их во время сборки и указать URL-адрес перед запуском приложения.

 -Dquarkus.datasource.YYY.jdbc.url=url_YYY -Dquarkus.datasource.XXX.jdbc.url=url_XXX
 

Quarkus называет это «runtime», но на самом деле это «pre-runtime»