2016-03-16 2 views
0

Я использую подключенный экземпляр mysql Docker с контейнером докера, который содержит экземпляр Karaf 4, настроенный с помощью источника данных Pax JDBC.pax jdbc datasource configuration variable

Моя проблема в том, что мой jdbc-url зависит от настройки переменных environement от docker (поскольку IP-адрес mysql не всегда одинаковый). Переменная IP-адреса: MYSQL_PORT_3306_TCP_ADDR.

Я попытался начать karaf с -DMYSQL_PORT_3306_TCP_ADDR=XXX.XXX.XXX.XXX и настроить мой источник данных с файлом конфигурации (и т.д./org.ops4j.datasource.mydb.cfg), который содержит бы:

url=jdbc:mysql://${mysql.port.3306.tcp.addr}:3306/mydb 

но глядя на службу: Список в karaf Я вижу:

url = jdbc:mysql://:3306/pandoradb 

так что переменная явно не используется.

Есть ли способ делать то, что я хочу?

Лучший.

ответ

0

Я, наконец, нашел решение!

Я не знаю, почему я пытался использовать переменную ${mysql.port.3306.tcp.addr} в моем конфе .... используя правильную переменную правильно интерпретировать:

url=jdbc:mysql://${MYSQL_PORT_3306_TCP_ADDR}:3306/mydb 

Best.