我有一个网络服务。它的域和端口可以更改。所以我想从文件或数据库中读取端口和域。当这些信息发生变化时,我会在数据库或文件中更新它们。
适配器 XML:
<domain>${adp.hostname}</domain>
<port>${adp.port}</port>
worklight.properties:
adp.hostname=localhost
adp.port=10080
这工作正常。但我想从文件或数据库中获取adp.hostname
和。adp.port
我有一个网络服务。它的域和端口可以更改。所以我想从文件或数据库中读取端口和域。当这些信息发生变化时,我会在数据库或文件中更新它们。
适配器 XML:
<domain>${adp.hostname}</domain>
<port>${adp.port}</port>
worklight.properties:
adp.hostname=localhost
adp.port=10080
这工作正常。但我想从文件或数据库中获取adp.hostname
和。adp.port
关于适配器要记住的一点是,一旦部署适配器 XML ,您就无法实时更改适配器 XML中设置的任何属性。
一旦适配器被部署,它就会被转换为一个对象并存储在内存中。那么,此时,您无法再与其“设置”进行交互。
您唯一能做的就是在部署适配器之前决定这些属性的值。例如,QA/TEST/UAT/PROD 环境的一组不同属性...
要设置外部属性,从 Worklight 6.0 及更高版本开始,您可以阅读此文档主题:使用 JNDI 环境条目在生产中配置 IBM Worklight 项目
专门针对其 server.xml 中的 Tomcat:
<Context docBase="app_context_path" path="/app_context_path">
<Environment name="publicWorkLightPort" override="false"
type="java.lang.String" value="9080"/>
</Context>
app_context_path
为项目的上下文(项目名称)environment
您为所需的每个属性添加子元素重要的是要记住:这些属性也必须存在于worklight.properties
; 这些将是默认属性,如果使用上面的示例,它们将被覆盖,并且将使用环境属性。
在上面的示例中,您可以看到它将替换默认属性publicWorkLightPort
。