Вставьте переменные среды в Jetty web.xml или quickstart.xml

В моих файлах web.xml и quickstart.xml я хочу иметь возможность заменить ip на определенное значение из переменных среды моей машины. Это возможно?

<filter>
  <filter-name>CAS Authentication Filter</filter-name>
  <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
  <init-param>
    <param-name>casServerLoginUrl</param-name>
    <param-value>https://192.168.1.2/cas/login</param-value>
  </init-param>
  <init-param>
    <param-name>serverName</param-name>
    <param-value>https://192.168.1.2:443</param-value>
  </init-param>
  <async-supported>true</async-supported>
</filter>
<filter-mapping>
  <filter-name>CAS Authentication Filter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

Например, я хотел бы иметь возможность поместить в мои переменные среды casip = 192.168.1.2 и передать их в мой web.xml или quickstart.xml.

Причина, по которой я хочу это, заключается в том, что мне нужно, чтобы переменная была открыта (т.е. переменные среды), чтобы ansible мог изменить ее во время установки, поскольку все веб-приложение будет заключено в контейнер докера.

Idk, если вы можете это сделать, но несколько докеризованных приложений, которые я видел, просто создают файлы конфигурации в своем стартовом скрипте. Например. использование sed для замены заполнителей в XML-файле переменными среды. (например, theagileadmin.com/2015/11/12/…)

zapl 10.07.2018 00:50

Хм, это снизит скорость запуска контейнера? Альтернатива, которая пришла в голову, - отредактировать / etc / hosts, а затем использовать docker-compose для доступа к этому пользователю. Я не уверен, какой метод лучше.

annihil8ted 10.07.2018 00:54

ну, микросекунды или около того

zapl 10.07.2018 00:54

Думаю, мне придется это проверить. Некоторые из моих веб-приложений нуждаются только в однократной замене. Другим нужно намного больше (100+). Другой моей проблемой будет масштабируемость. Этот файл выводится из файла войны, который может измениться в любое время. Если бы было добавлено больше записей, мне пришлось бы пойти и вставить их вручную.

annihil8ted 10.07.2018 00:58

@zapl Я думаю, что ваш метод, вероятно, лучший вариант. Оказывается, фильтр не занимается трафиком, он просто перенаправляет запрос, что не помогает, если другая система не может разрешить имя хоста.

annihil8ted 10.07.2018 01:04
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
5
303
0

Другие вопросы по теме