Как внедрить источник данных Agroal в сервлет в Quarkus?

У меня есть приложение Quarkus, которое запускает сервлет, и я пытаюсь внедрить источник данных Agroal, поскольку есть поток, который работает внутри сервлета, где мне нужно выполнить некоторые транзакции базы данных. Тем не менее, я также пробовал приведенную ниже реализацию внутри класса Thread и другого статического класса, который используется внутри потока, но в обоих классах источник данных возвращает null.

Я также добавил свойства источника данных в файл application.properties . Также сервлет настроен на загрузку при запуске, поэтому, как только приложение запускается, поток также запускается. Этот поток запускается после инициализации сервлета.

класс LoopThread расширяет поток {

@Inject @Named("db") Источник данных AgroalDataSource;

общественный LoopThread () { супер (); }

@Override public void run() {try {DbUtil.userErrorLogged = false;DbUtil.initDataSource(источник данных);LogUtil.debug("Поток запущен.");  

поймать (Исключение ex) {LogUtil.error(ex); }

}}

Я попытался внедрить источник данных в класс Thread, а также в статический класс Util, но оба не вернули источник данных. Я думаю, связано ли это с потоком, который запускается при инициализации сервлета. Любая помощь в этом была бы отличной

0 ответов

Другие вопросы по тегам