Histórico da Página
Índice |
---|
...
|
Objetivo
O objetivo deste documento é demonstrar como
...
configurar o arquivo context.xml do Tomcat conforme as necessidades do ambiente
As configurações são armazenadas no banco de dados e criamos a figura do agrupador de propriedades para tratar as propriedades que serão distintas a cada Tomcat utilizado.
Painel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Se não existe a necessidade de propriedades específicas por servidor Tomcat usando o mesmo banco de dados as únicas configurações necessárias são:
|
Painel | ||||
---|---|---|---|---|
| ||||
Abaixo exemplo do arquivo:
|
Na versão do produto que utiliza Web Service JBoss, existem vários arquivos de propriedades (datasul_framework.properties, config.xml, di.properties, etc.), que acabam dificultando o gerenciamento. Na nova arquitetura, o tratamento de propriedades do sistema foi alterado, onde as mesmas foram colocadas dentro de banco de dados para facilitar o gerenciamento e manutenção, com isso houve uma centralização das propriedades. Agora, as telas de Propriedades do Sistema são em HTML, facilitando o acesso e manutenção do ambiente.
A única configuração obrigatória em arquivo é a URL de conexão no AppServer, que está contida no arquivo .../TOMCAT/conf/context.xml.
Para informar ao Tomcat qual deverá ser o Appserver que será utilizado, utilizá-se a tag Environment, conforme o exemplo abaixo:
|
...
...
...
|
Arquitetura
Podemos montar vários formatos de ambientes quando estamos trabalhando com servidores Tomcat, conforme abaixo:
Neste exemplo, temos um ambiente de produção distribuído entre vários Tomcats e Appservers, onde todos se conectam ao mesmo servidor de bancos de dados de produção.
Para informar para o Tomcat qual o Appserver será utilizado, definimos uma tag Environment, dentro do arquivo TOMCAT/conf/context.xml, que conterá a propriedade "totvs.appserver" e a URL de conexão do AppServer, conforme o exemplo abaixo:
|
...
|
...
|
Neste outro exemplo, temos os seguintes ambientes: produção, desenvolvimento e testes.
O nosso ambiente de produção está apontando para um único servidor Appserver e servidor de banco de dados.
Já o ambiente de desenvolvimento e testes podem apontar para um servidor Appserver diferente, onde cada um terá o seu próprio PROPATH, e cada servidor Appserver poderá apontar para o mesmo servidor de banco de dados.
Neste formato, onde podemos ter vários servidores appserver, através do arquivo TOMCAT/conf/context.xml, podemos especificar propriedades diferentes em cada servidor, por exemplo:
- No Tomcat de desenvolvimento, teremos o licenciamento do tipo "normal", já no Tomcat de homologação teremos o licenciamento do tipo "test".
Então concluímos que através do arquivo TOMCAT/conf/context.xml, podemos ter propriedades diferenciadas para os ambientes, onde os valores especificados ficarão "fixos" dentro desses ambientes.
Context.xml
Por meio do arquivo context.xml é possível sobrescrever as propriedades do produto DATASUL, o arquivo fica localizado na pasta conf onde foi instalado o Tomcat. Para realizar o procedimento basta adicionar um nova Environment no arquivo context.xml.
Exemplo de propriedade alterando sobrescrevendo a cor do menu:
|
...
|
...
|
...
|
...
|
...
|
...
Agrupadores de Propriedades
A partir da versão
...
12.1.28
...
do produto DATASUL,
...
disponibiliza a funcionalidade de agrupadores de propriedades, que
...
visa facilitar a
...
criação, gerenciamento e redução dos recursos necessários para os ambientes.
Um exemplo interessante de utilização dos agrupadores, seria em um ambiente de homologação e de desenvolvimento, onde utilizando os agrupadores poderemos ter propriedades com valores diferenciados entre eles, com isso podemos utilizar o mesmo servidor Appserver e o mesmo servidor de banco de dados.
Nesse exemplo, as configurações dos arquivos TOMCAT/conf/context.xml serão os seguintes:
- Ambiente de Desenvolvimento
...
O agrupador permite que um mesmo banco de dados de foundation armazene as configurações dos diversos ambientes Tomcat.
Para utilizar o agrupador de propriedades de inserir no arquivo de configuração context.xml
a seguinte configuração:
<Environment name="totvs.envprop.group" value="Servidor_teste" type="java.lang.String" |
---|
...
/> |
---|
Em que Servidor_teste é o seu agrupador, pode-se utilizar o nome que melhor irá identificar o uso desse servidor Tomcat.
Quando estiver usando esse servidor toda a configuração de foundation feita nele não se propaga aos outros servidores que usam o mesmo banco de dados.
Para saber que está usando um agrupador no ambiente foi colocado o nome do agrupador na barra de status, vejam na imagem o destaque em vermelho.
No exemplo foi alterada a cor de fundo do menu para verde e essa configuração só será utilizada nos servidores com agrupador Servidor_teste.
Se no mesmo banco de dados estiverem configurados diversos servidores sem o agrupador quando alterar uma configuração, da cor por exemplo, todos os servidores que não tem o agrupador serão afetados, os que tem agrupador não.
Caso precise desfazer as configurações específicas do agrupador posso fazer isso através das propriedades de ambiente descritas nesse documento CFG - Ambiente .
Arquitetura
É possível utilizar várias configurações de ambiente com mais de um Tomcat e Appserver por conjunto de bancos.
Neste exemplo, o ambiente está distribuído entre Tomcats, Appservers e conjunto da bancos diferentes para demonstrar as possibilidades:
- Ambiente de Homologação
Bloco de código |
---|
<?xml version="1.0" encoding="UTF-8"?>
<Context crossContext="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<Environment name="totvs.appserver" value="AppServer://servidorApp:5162/totvs-brk1" type="java.lang.String" />
<Environment name="totvs.envprop.group" value="homolog" type="java.lang.String" />
<Environment name="totvs.license.ambient.type" value="test" type="java.lang.String" />
</Context> |
Lista de propriedades que podem ser sobrescritas
...