pax jdbc数据源配置变量

时间:2016-03-16 12:03:31

标签: apache-karaf ops4j

我使用连接的Docker mysql实例和我的docker容器,其中包含一个配置了Pax JDBC数据源的Karaf 4实例。

我的问题是我的jdbc url依赖于docker设置的一些环境变量(因为mysql容器IP并不总是相同)。 IP地址变量为MYSQL_PORT_3306_TCP_ADDR

我尝试使用-DMYSQL_PORT_3306_TCP_ADDR=XXX.XXX.XXX.XXX启动karaf并使用配置文件(etc / org.ops4j.datasource.mydb.cfg)设置我的数据源,该文件包含:

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

但是看看服务:karaf中的列表我看到了:

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

因此显然没有使用变量。

有办法做我想做的事吗?

最佳。

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案!

我不知道为什么我试图在我的conf中使用${mysql.port.3306.tcp.addr}变量....使用正确的变量被正确解释:

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

最佳。