Tomcat - Переопределение catalina.properties из командной строки - PullRequest
0 голосов
/ 25 декабря 2018

Я хотел бы иметь свойство в catalina.properties и в некоторых случаях переопределять его из командной строки с помощью -D = propvalue

Возможно ли это?

Более конкретно, я хотел быуправлять портом соединителя в server.xml с помощью системного свойства, например:

    <Connector port="${custom.port}" sendReasonPhrase="true" maxThreads="200"/>

В catalina.properties у меня установлено свойство: custom.port = 9000

Я быхотелось бы сохранить его там, но в некоторых случаях передать переопределение в tomcat, например -Dcustom.port = 9001.

Похоже, что конфигурация в catalina.properties имеет приоритет и будет использоваться.Что является неожиданным поведением.

Есть ли способ применить его наоборот?Есть ли другой способ иметь значение по умолчанию в server.xml, что-то вроде этого:

    <Connector port="${custom.port:9000}" sendReasonPhrase="true" maxThreads="200"/>

И если системное свойство не существует, оно будет установлено в 9000.

1 Ответ

0 голосов
/ 28 декабря 2018

Tomcat не позволяет вам переопределить свойства , определенные при запуске JVM, чтобы переопределить те, которые перечислены в catalina.properties.

Это было бы легко добавить, но могло бы бытьнекоторые соображения безопасности и / или разделения обязанностей.Я рекомендую подать запрос на улучшение Bugzilla .Если вы предоставите GitHub запрос на обновление или исправление, мы поместим вас в changelog .:)

...