2017-01-02 9 views
0

Я сделал несколько конфигураций относительно разъемов в Tomcat. Конфигурации выполняются в server.xml. Однако не рекомендуется напрямую редактировать этот файл. Итак, мой вопрос: могу ли я разместить свои конфигурации в другом месте? Например, у меня есть пользовательский context.xml, где я поместил свои конфигурации ресурсов. Параметры в этом файле переопределяют значение по умолчанию context.xml.Tomcat 8: Конфигурирование соединителей в пользовательском файле

Можно ли это сделать так же, но для разъемов?

+0

Почему вы говорите, что не рекомендуется редактировать 'server.xml' напрямую? –

+0

Согласно документации Tomcat, необходимо установить параметры контекста для приложения: - В отдельном файле /META-INF/context.xml - В отдельных файлах (с расширением «.xml») в $ CATALINA_BASE/conf/[enginename]/[hostname]/directory - Внутри элемента Host в главном conf/server.xml Не рекомендуется размещать элементов непосредственно в файле server.xml. Но эта рекомендация предназначена для элементов контекста. Можно ли разместить элементов в отдельных файлах? – Paul

ответ

0

A <Connector> не относится к конкретным приложениям. Вполне возможно разместить <Connector> s непосредственно в файле conf/server.xml от Tomcat. Вот почему файл stock.xml, поставляемый с Tomcat, содержит коннекторы.

Чтобы ответить на вопрос, как изначально сформулированный, Tomcat не имеет очевидного механизма включения «лишних» файлов в conf/server.xml, но вы можете использовать механизмы XML для его выполнения.

Я бы не рекомендовал эту технику, потому что она требует, чтобы ваш сервер разрешал обработку внешних объектов, которая может decrease the security of your environment.

Это будет выглядеть примерно так:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE Server [ 
    <!ENTITY extcfg SYSTEM "extra.xml"> 
]> 
<Server port="8005" shutdown=SHUTDOWN"> 

    ... 
    ... 

    <Service name="Catalina"> 
    ... 
    ... 
    &extcfg; <!-- This will import extra.xml to this location --> 
    </Service> 
</Server> 

Тогда вы просто должны это содержание в вашем extra.xml:

<Connector port="8009" ... /> 

Опять же, я бы не рекомендовал эту технику, но должно сработать.

Вместо этого просто введите <Connector> s непосредственно в conf/server.xml.