karaf - 如何在 system.properties 文件中添加环境变量

karaf - how to add environmental variable in system.properties file

我想为 Karaf 启用 HA 锁。我想在启用锁的同时为某些标志提供 env 变量值。我需要更新的标志如下:
karaf.lock.jdbc.clustername karaf.lock.delay

我厌倦了在 etc/system.properties 文件中给出以下条目,但 karaf 将其视为空字符串

karaf.lock.jdbc.clustername=${APP_CLUSTER_NAME}
karaf.lock.delay=${LOCK_REFRESH}

其中 APP_CLUSTER_NAMELOCK_REFRESH 是环境变量。

即使我尝试在 custom.properties 文件中定义它们,如下所示,

LOCK_REFRESH=${env:LOCK_REFRESH}

APP_CLUSTER_NAME=${env:APP_CLUSTER_NAME}

这也不适合我!

请帮忙

我们可以通过多种方式实现这一目标,我所做的是,

1) 导出 EXTRA_JAVA_OPTS 为,

export EXTRA_JAVA_OPTS="$EXTRA_JAVA_OPTS -Dapp.name=myApp"

然后在 system.propeties 文件中使用相同的方法,

karaf.lock.jdbc.clustername=${app.name}

2) 我们甚至可以直接将 karaf 变量导出到 EXTRA_JAVA_OPTS 导出 EXTRA_JAVA_OPTS="$EXTRA_JAVA_OPTS -Dkaraf.lock.jdbc.clustername=myApp" //我没试过,应该可以的