Переменная конфигурации источника данных pax jdbc
Я использую подключенный экземпляр Mycker Docker с моим контейнером докера, который содержит экземпляр Karaf 4, настроенный с источником данных Pax JDBC.
Моя проблема в том, что мой jdbc url зависит от некоторых переменных окружения, установленных docker (поскольку IP-адрес контейнера mysql не всегда одинаков). Переменная IP-адреса MYSQL_PORT_3306_TCP_ADDR
,
Я пытался начать караф с -DMYSQL_PORT_3306_TCP_ADDR=XXX.XXX.XXX.XXX
и настроить мой источник данных с помощью файла конфигурации (etc/org.ops4j.datasource.mydb.cfg), который будет содержать:
url=jdbc:mysql://${mysql.port.3306.tcp.addr}:3306/mydb
но смотря на сервис: список в карафе вижу
url = jdbc:mysql://:3306/pandoradb
поэтому переменная явно не используется.
Есть ли способ сделать то, что я хочу?
Лучший.
1 ответ
Я наконец нашел решение!
Я не знаю, почему я пытался использовать ${mysql.port.3306.tcp.addr}
переменная в моем conf.... использование правильной переменной правильно интерпретируется:
url=jdbc:mysql://${MYSQL_PORT_3306_TCP_ADDR}:3306/mydb
Лучший.