2016-09-01 1 views
0

Я пытаюсь определить ресурс DataSource через свойства системы (в отличие от ввода его в tomee.xml) и получить такой же результат, как в Getting SQLException: Driver:org.hsqldb.jdbcDriver returned null for URL in tomee.Получение SQLException: Драйвер: org.hsqldb.jdbcDriver возвратил null для URL-адреса в томах, когда ресурс определен с системными свойствами

Что изменилось в том, что я обеспечиваю значение для свойства jdbcDriver и что я определяю мой DataSource через системные свойства:

JAVA_OPTS="${JAVA_OPTS} -DmyDS='new://Resource?type=javax.sql.DataSource'" 
JAVA_OPTS="${JAVA_OPTS} -DmyDS.jdbcDriver='com.mysql.jdbc.Driver'" 
JAVA_OPTS="${JAVA_OPTS} -DmyDS.jdbcUrl='jdbc:mysql://ahost/adb'" 
JAVA_OPTS="${JAVA_OPTS} -DmyDS.userName='auser'" 
JAVA_OPTS="${JAVA_OPTS} -DmyDS.password='apass'" 
JAVA_OPTS="${JAVA_OPTS} -DmyDS.maxActive=5" 
JAVA_OPTS="${JAVA_OPTS} -DmyDS.maxIdle=5" 
JAVA_OPTS="${JAVA_OPTS} -DmyDS.minIdle=1" 
JAVA_OPTS="${JAVA_OPTS} -DmyDS.initialSize=1" 

Поскольку StackTrace также содержит значение JDBCURL Я уверен, что ценности обработанный TomEE правильно, кажется, что выбран неправильный драйвер (HSQL)

JAR-адрес mysql-коннектора находится в $ TOMEE_BASE/lib. Работает определение datasource в tomee.xml.

ответ

0

Как выяснилось, причиной был конфликт загрузчика классов. Разъем MySQL был как в WAR (случайно), так и в TomEE. После удаления драйвера из WAR вещи начинают работать.

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

0

Не уверен в своей оболочке, но я бы удалил простые кавычки. Кроме того, даже если менее важно, томид, как правило, предпочитает использовать атрибуты, начиная с прописных букв, даже если они не чувствительны к регистру для большинства из них.

Смежные вопросы