Настройте Tomcat для использования файла свойств для загрузки информации о соединении с БД

Java:

yourButton.setAllCaps = false

Kotlin:

yourButton.isAllCaps = false

XML:

android:textAllCaps="false"

Стили:

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="buttonStyle">@style/yourButtonStyle</item>
    </style>

    <style name="yourButtonStyle" parent="Widget.AppCompat.Button">
        <item name="android:textAllCaps">false</item>
    </style>

В расположении:

   <Button
      .
      .
      style="@style/yourButtonStyle"
      .
      .
   />
31
задан jW. 4 September 2009 в 18:20
поделиться

3 ответа

Мы часто распространяем веб-приложения, предоставляя WAR и XML-файл контекста, который помещается в ваш каталог tomcat / conf / Catalina / localhost и может загружать веб-приложение. с любого пути. Здесь имеется справочный документ . Это дает следующие преимущества:

  • Параметры контекста могут быть настроены здесь и прочитаны веб-приложением
  • Источники данных могут быть определены и настроены здесь
  • WAR может фактически находиться в любом месте файловой системы, что означает, что если Tomcat будет обновлен , только этот единственный файл конфигурации необходимо переместить в новую установку Tomcat, веб-приложение и любые другие файлы могут оставаться там, где они есть

Если вам действительно нужен файл свойств, вы можете установить параметр в XML-файле контекста, указывающий в ваш файл свойств,

14
ответ дан 27 November 2019 в 22:44
поделиться

Рекомендуется хранить конфигурацию вне зоны боевых действий. В нашей WAR у нас есть местоположение по умолчанию для поиска файла свойств. Если значение по умолчанию не работает, вы можете указать местоположение с помощью параметра JVM или параметра контекста, определенного во фрагменте контекста в каталоге conf / Catalina / [host]. Например,

<Context docBase="/server/app.war"
    swallowOutput="true" unpackWAR="false" useNaming="false">

    <Parameter name="config-file" value="/config/db.properties" override="true" />
</Context>
8
ответ дан 27 November 2019 в 22:44
поделиться

Как мы это обрабатываем:

  1. Попросите клиента создать пул соединений в GlobalNamingResources , используя согласованное имя ресурса. Драйвер базы данных должен находиться в пути к классам Tomcat.
  2. Наш war-файл включает файлы META-INF / context.xml, которые имеют ссылку ResourceLink , связывающуюся с пулом соединений, настроенным на шаге 1.

Это немного больше предварительной работы, чем простое изменение информации о соединении context.xml напрямую, но со временем это должно окупиться. Сервер разработки будет настроен с его GlobalNamingResources, указывающим на разработку, и точкой тестового сервера для тестирования и т. Д. Затем один и тот же файл WAR можно скопировать на каждый сервер, ничего не редактируя.

Это не использует файлы свойств, но Думаю, он достигает той же цели. Разрешение пользователю / покупателю настроить информацию о подключении к базе данных.

Пример GlobalNamingResource:

<Resource name="jdbc/dbconnection" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1546:SID"
username="scott" password="tiger" maxActive="8" maxIdle="4"
validationQuery="select 1 from dual"
testOnBorrow="true"/>

Пример context.xml в файле war:

<Context path="/MyWebApp" docBase="MyWebApp" debug="5" reloadable="true">
    <ResourceLink name="jdbc/dbconnection" global="jdbc/dbconnection" 
          type="javax.sql.DataSource"/>
</Context>
9
ответ дан 27 November 2019 в 22:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: