Oracle DB, Oracle APEX, Linux etc.

суббота, 10 марта 2012 г.

Oracle APEX Listener: Файл настроек

Это небольшая заметка о файле настроек Oracle APEX Listener (OAL), развёрнутом на GlassFish 3.

По умолчанию OAL создаёт и ищет файл настроек ${java.io.tmpdir}/apex/apex-config.xml, где значение java.io.tmpdir для GlassFish установлено в /tmp. Любые временные директории — не место для хранения файлов настроек, поскольку время от времени их содержимое удаляется.

Чтобы изменить это поведение раз и навсегда, необходимо:
  1. Распаковать файл apex.war. Это обычный zip-архив, проблем с разархивацией возникнуть не должно. Например, разархивируем архив в директорию tmp:
    unzip -d tmp apex.war
  2. Изменить параметр config.dir в файле WEB-INF/web.xml. Найдём в нём следующие строки, устанавливающие значение параметра:
    <!--
      <context-param>
        <param-name>config.dir</param-name>
        <param-value>${java.io.tmpdir}/APEX</param-value>
      </context-param>
    -->
    
    Раскомментируем и заменим значение параметра:
      <context-param>
        <param-name>config.dir</param-name>
        <param-value>${user.dir}</param-value><
      </context-param>
    
    Параметр user.dir для приложения, развёрнутого на GlassFish в домен domain_1, будет иметь значение <Директория GlassFish>/glassfish/domains/domain_1/config. OAL создаст по этому пути поддиректорию apex и разместит файл настроек apex-config.xml в ней.
  3. Создать архив apex.war с изменённым файлом. Перейдём в директорию tmp и соберём архив:
    zip -r apex.war ./*

Всё, архив с приложением готов к установке.

Читать далее