A melhor maneira de separar os arquivos de configuração do tomcat para diferentes implementações?

1

Neste momento, toda a configuração específica do aplicativo é feita em conf/Catalina/localhost/myWebApp.xml e esse arquivo é alterado entre diferentes cenários de implantação (teste / produção / pessoal, etc). Meu pensamento inicial foi criar vários arquivos de configuração nomeados para a configuração explícita. Idealmente, esses arquivos de configuração específicos da implantação seriam intercambiáveis. Ou seja, um switch de um arquivo de configuração contendo parâmetros que mudam entre as implantações seria a única alteração de configuração necessária para alternar uma implantação.

Qual é a melhor maneira de fazer isso? Posso substituir as propriedades pelo tomcat? Como posso usar mais de um arquivo de configuração para um contexto de webapp? Se eu puder substituir, como especificar a precedência de substituição?

Obrigado.

    
por Stefan Kendall 08.01.2010 / 19:05

2 respostas

0

A melhor coisa que você pode fazer, aparentemente, é construir um mecanismo de análise variável que crie vários arquivos de implantação para as diferentes implantações que você precisa.

    
por 14.01.2010 / 19:49
1

No final do servidor núcleo, você pode passar as próprias configurações do Tomcat na inicialização, em vez de usar os padrões, da seguinte forma:

cd $TOMCAT_HOME
./bin/startup.sh -config /some/path/to/server.xml

Este server.xml define seu elemento 'host' para as aplicações web que tem várias propriedades de como elas são implementadas (dê uma olhada no padrão). Os documentos de configuração estão aqui:

link

Dê uma olhada um pouco mais abaixo nesse documento para onde ele começa a falar sobre o "Automatic Application Deployment" - há algum palavreado que começa a falar sobre diferentes arquivos XML. Talvez um desses procedimentos definidos que o mecanismo permita criar um cenário de trabalho para suas necessidades; Eu não fiz exatamente como você pede, normalmente é implementado um WAR que contém seu próprio XML e é descompactado automaticamente - não mexi com a substituição de arquivos pós-descompactados em webapps / foo / areas.

    
por 08.01.2010 / 19:37