2014-01-16 4 views
0

У меня есть веб-сервис. Его домен и порт могут быть изменены. Поэтому я хочу читать порт и домен из файла или db. Когда эта информация изменяется, я обновляю их в db или файле.IBM Worklight - Как использовать свойства домена адаптера и порта, взятые из внешнего файла?

Адаптер XML:

<domain>${adp.hostname}</domain> 
<port>${adp.port}</port> 

worklight.properties:

adp.hostname=localhost 
adp.port=10080 

Это работает отлично. Но я хотел бы взять adp.hostname и adp.port из файла или db.

+0

Мы говорим здесь о разработке или производственной среде? Кот?)? –

+0

development (Tomcat) – Nrgl

ответ

0

Что нужно помнить о том, что адаптеры вы не можете изменить в реальном времени любого из свойств, установленных в адаптер XML, когда он развернут.

После развертывания адаптера он преобразуется в объект и сохраняется в памяти. В это время вы больше не можете взаимодействовать со своей «настройкой».

Единственным, что вы можете сделать, это решить, что будет значением этих свойств перед тем вашего развертывания адаптера. Например, другой набор свойств для QA/TEST/UAT/Prod сред ...


Для установки внешних свойств, начиная Worklight 6,0 и выше, вы можете прочитать эту документацию тему: Configuring an IBM Worklight project in production by using JNDI environment entries

Специально для Tomcat в его server.xml:

<Context docBase="app_context_path" path="/app_context_path"> 
    <Environment name="publicWorkLightPort" override="false" 
    type="java.lang.String" value="9080"/> 
</Context> 
  1. Вы можете изменить app_context_path в контексте вашего проекта (название проекта)
  2. Вы добавляете environment дочерние элементы для каждого свойства необходимо

Важно помнить: эти свойства также должны существовать в worklight.properties; те будут свойствами по умолчанию, и, если использовать вышеприведенный пример, они будут переписаны, и вместо этого будут использованы свойства среды.

В приведенном выше примере вы можете увидеть, что он заменит свойство по умолчанию publicWorkLightPort.

+0

Мы говорим о работе сервера развития в Eclipse. Но я не хочу устанавливать порт и домен в worklight.properties. Я хочу использовать его как: "adp.hostname = выбрать домен из DB.domainTable, где serviceCode = 3" это возможно? – Nrgl

+0

@Nrgl, см. Мой обновленный ответ. –

 Смежные вопросы

  • Нет связанных вопросов^_^