IBM Worklight - Как использовать свойства домена и порта адаптера, взятые из внешнего файла?
У меня есть веб-сервис. Его домен и порт можно изменить. Поэтому я хочу прочитать порт и домен из файла или базы данных. Когда эта информация меняется, я обновляю их в БД или файле.
Адаптер XML:
<domain>${adp.hostname}</domain>
<port>${adp.port}</port>
worklight.properties:
adp.hostname=localhost
adp.port=10080
Это работает нормально. Но я бы хотел взять adp.hostname
а также adp.port
из файла или базы данных.
1 ответ
Что нужно помнить об адаптерах, так это то, что вы не можете в реальном времени изменять какие - либо свойства, установленные в XML адаптера, после его развертывания.
После развертывания адаптера он превращается в объект и сохраняется в памяти. В это время вы больше не можете взаимодействовать с его "настройкой".
Единственное, что вы можете сделать, это решить, какое значение будут иметь эти свойства, прежде чем развертывать адаптер. Например, другой набор свойств для сред QA/TEST/UAT/PROD...
Чтобы настроить внешние свойства, начиная с Worklight 6.0 и выше, вы можете прочитать этот раздел документации: Конфигурирование проекта IBM Worklight в работе с использованием записей среды JNDI
Специально для Tomcat в его server.xml:
<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
,