如何在 Apiman (1.3.1.Final) 中覆盖 apiman.gateway-端点默认值 属性

How to overwrite apiman.gateway-endpoint default property values in Apiman (1.3.1.Final)

环境

分销商 ID:Ubuntu

描述:Ubuntu 16.04.5 LTS

发布:16.04

代号:xenial

错误

我正在使用 dockerized apiman 1.3 版。1.Final。 (我知道很老了...)

我正在尝试覆盖 apiman-default-config.json 文件的网关属性:

"Gateways" : [ {
"id" : "TheGateway",
"name" : "The Gateway",
"description" : "This is the gateway.",
"createdBy" : "admin",
"createdOn" : "2016-05-16T12:34:15Z",
"modifiedBy" : "admin",
"modifiedOn" : "2016-05-16T12:34:15Z",
"type" : "REST",
"configuration" : "{\"endpoint\":\"${apiman.gateway-endpoint:https://localhost:8443/apiman-gateway-api}\",\"username\":\"${apiman.gateway-endpoint.username:apimanager}\",\"password\":\"${apiman.gateway-endpoint.password:apiman123!}\"}" } ]

所以我的想法是我可以从 apiman.properties 配置文件中覆盖这些属性。 但是,例如,似乎 属性 ${apiman.gateway-endpoint.username} 未被评估并使用默认值 'apimanager' 无论如何。

所以现在,我的问题是应该如何覆盖以下属性? :

apiman.gateway-endpoint
apiman.gateway-endpoint.username
apiman.gateway-endpoint.password

如果它是一个错误,它会在以后的 Apiman 版本中修复吗?

我可以覆盖整个文件,但如果我能避免这种情况,那就太好了...

此致

深入了解 Apiman 代码后,我发现这些变量已被 System.env 属性替换。 为了覆盖它们,可以将 'extensions' 标记后的那些行添加到您正在使用的独立 apiman.xml 配置中 运行 apiman :

<system-properties>
       <property name="apiman.gateway-endpoint" value="http://apiman.gateway.com"/>
       <property name="apiman.gateway-endpoint.username" value="username"/>
       <property name="apiman.gateway-endpoint.password" value="password"/>
</system-properties>