Я запускаю несколько экземпляров Tomcat
на одном хосте и устанавливаю их как службы Windows. Конечно, это с разными портами для каждого из экземпляров Tomcat
. Теперь я пытаюсь извлечь номера портов из файла server.xml
и передать их как параметры JVM, чтобы файл server.xml
выглядел одинаково для всех экземпляров Tomcat
. В настоящее время порт коннектора в моем файле server.xml
для каждого экземпляра выглядит так:
Экземпляр 1
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
Экземпляр 2
<Connector port="8180" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
и я пытаюсь сделать так, чтобы это выглядело
<Connector port="${port.http}" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
Как упоминалось в этом ответе, я могу отредактировать параметры вручную, чтобы добавить параметр -Dport.http=8080
или -Dport.http=8180
, и он отлично работает, но что Мне нужно, чтобы этот параметр JVM был установлен, когда Tomcat
устанавливается как служба Windows.
Ниже приведено содержимое файла .bat
, который я запускаю для установки Tomcat
экземпляра 1 в качестве службы Windows (то же самое для экземпляра 2, за исключением CATALINA_BASE, порта и имени службы). Как видите, я также пытаюсь установить JAVA_OPTS
до того, как он будет установлен как служба, но, похоже, мне с этим не повезло. Я также пробовал использовать двойные кавычки, такие как CALL SET "JAVA_OPTS=-Dport.http=8080"
и CALL SET JAVA_OPTS="-Dport.http=8080"
.
CALL SET JAVA_HOME=D:\Java
CALL SET CATALINA_BASE=D:\instance1
CALL SET JAVA_OPTS=-Dport.http=8080
CALL CD %CATALINA_HOME%\bin
service install instance1
Кто-нибудь может помочь, пожалуйста?
setevn.bat
или что-то подобное. Это в каталоге Tomcats bin. Он включен в процедуру запуска серверов. - person Antoniossss   schedule 27.02.2019setenv.bat
, но я не думаю, что на параметры оттуда ссылаются, когда Tomcat работает как служба Windows. - person Prasann   schedule 27.02.2019${port.http}
вserver.xml
- person Prasann   schedule 27.02.2019