Вы нашли ошибку в коде автоопределения драйвера JDBC. Драйвер был (вероятно) автоматически обнаружен, но он был неправильно настроен. В частности, эта строка кода устанавливает имя класса источника данных XA равным com.ibm.db2.jdbc.DB2XADataSource
, которого не существует. (Это действительно то, что написано в вашем сообщении об ошибке, но я также подтвердил это, изучив JAR-файл драйвера JDBC.) Правильное имя класса - com.ibm.db2.jcc.DB2XADataSource
. Я подал THORN-2398 и представил PR с исправлением.
Я не уверен, есть ли простой обходной путь, потому что автоопределение драйвера JDBC выполняется после применения всей конфигурации. Возможно, следующий хак может сработать. Определите новый драйвер JDBC в project-defaults.yml
следующим образом:
thorntail:
datasources:
jdbc-drivers:
mydb2:
driver-module-name: com.ibm.db2jcc
driver-xa-datasource-class-name: com.ibm.db2.jcc.DB2XADataSource
Но все остальное не трогай. Это означает, что будет 2 драйвера JDBC для DB2, один с автоматическим определением (который создаст модуль com.ibm.db2jcc
), а второй, который вы создадите, будет использовать инфраструктуру, созданную первым. Если это работает, просто измените driver-name: ibmdb2
в вашем источнике данных на driver-name: mydb2
.
Если это не сработает, вам придется на время отключить автоопределение драйвера JDBC, пока проблема не будет устранена.