Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice
maxLevel

...

2

...

...


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
borderColordarkgrey
borderStyledashed

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:


Chave Valor
totvs.appserverIndica o endereço do appserver utilizado
totvs.license.ambient.typeTipo do ambiente Normal/Demonstration/Test
totvs.license.portporta do servidor de licença (opcional para Demonstration)
totvs.license.serverhost do servidor de licença (opcional para Demonstration)



Painel
borderColordarkgrey
borderStyledashed

Abaixo exemplo do arquivo:

<Context crossContext="true">

...

    <Environment name="totvs.appserver" value="AppServer://host_appserver:5132/NovoFrame" type="java.lang.String" />

    <Environment name="totvs.license.ambient.type" value="Normal" type="java.lang.String" />

    <Environment name="totvs.license.port" value="5555" type="java.lang.String" />

    <Environment name="totvs.license.server" value="Ribanceira" type="java.lang.String" />

...

...

</Context>


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.

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.

Image Removed

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 

...

...

Arquitetura

...

Image Added



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 TomcatsAppservers e conjunto da bancos

...

diferentes para demonstrar as possibilidades:


Image Modified

...




SITUAÇÃO TOMCAT 1:

Configuração:

O arquivo context.xml contém apenas as propriedades citadas acima (totvs.appserver, totvs.license.ambient.type, totvs.license.port, totvs.license.server).

Comportamento:

Utiliza as propriedades default e não é afetado pelas alterações de propriedade dos Tomcats com agrupador (Tomcat 2 no exemplo).

Cuidados:

O Tomcat 3 não tem agrupador caso altere uma propriedade nesse servidor ela se propagará para esse

...

, mesmo sendo outro appServer, pois o banco é o mesmo e é lá que ficam as configurações.

Caso tenha valores diferentes para as propriedades do license que ficam no context.xml (totvs.license.ambient.type, totvs.license.port, totvs.license.server), sempre que fizer a carga do ambiente essa informação de propagará para os ambientes que compartilham esse grupo de propriedades.


SITUAÇÃO TOMCAT

...

2:

Configuração:

O arquivo context.xml contém apenas as propriedades citadas acima (totvs.appserver, totvs.license.ambient.type, totvs.license.port, totvs.license.server) e mais

...

propriedade do agrupador totvs.envprop.group.

Comportamento:

As propriedades alteradas nesse servidor são exclusivas, elas não se propagam para os Tomcats 1 e 3, o Tomcat 4 usa outro conjunto de bancos e não é afetado.

Cuidados:

Caso não tenha feito a alteração de uma propriedade, customizando ela para esse servidor, e essa propriedade for alterada nos servidores Tomcat 1 ou 3 essa alteração afetará esse servidor.

Não é o caso do exemplo, mas caso tenha diversos Tomcats com agrupadores diferentes e queira alterar a configuração de todos deverá alterar em cada um deles.

...

Caso tenha valores diferentes para as propriedades do license que ficam no context.xml (totvs.license.ambient.type, totvs.license.port, totvs.license.server), sempre que fizer a carga do ambiente essa informação de propagará para os ambientes que compartilham esse grupo de propriedades.


SITUAÇÃO TOMCAT 3:

Configuração:

O arquivo context.xml contém apenas as propriedades citadas acima (totvs.appserver, totvs.license.ambient.type, totvs.license.port, totvs.license.server).

Como o appserver desse servidor é diferente o valor

...

de totvs.appserver

...

 deve ser alterado.

Comportamento:

Apesar de utilizar um appserver diferente ele usa as mesmas configurações do Tomcat 1, lembre-se as configurações ficam no banco de dados, e para esse caso ele é o mesmo.

Cuidados:

O Tomcat 1 não tem agrupador caso altere uma propriedade nesse servidor ela se propagará para esse.

...

Caso tenha valores diferentes para as propriedades do license que ficam no context.xml (totvs.license.ambient.type, totvs.license.port, totvs.license.server), sempre que fizer a carga do ambiente essa informação de propagará para os ambientes que compartilham esse grupo de propriedades.


SITUAÇÃO TOMCAT 4:

Configuração:

O arquivo context.xml contém apenas as propriedades citadas acima (totvs.appserver, totvs.license.ambient.type, totvs.license.port, totvs.license.server).

Como o appserver desse servidor é diferente o valor de totvs.appserver deve ser alterado, e o appserver deve utilizar um outro conjunto de bancos.

Comportamento:

Como as configurações ficam no banco de dados esse servidor não é afetado por nenhuma alteração de configuração de outros servidores

Cuidados:

Caso mude alguma configuração que afete todos os seus ambientes terá que alterar

...

Para informar para o Tomcat qual o Appserver será utilizado, é preciso definir 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, existem os seguintes ambientes: produção, desenvolvimento e testes.

O 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.

Image Removed

Neste formato, onde é possível manter vários servidores appserver, utilizando o arquivo .../TOMCAT/conf/context.xml, pode-se especificar propriedades diferentes em cada servidor, por exemplo:

- No Tomcat de desenvolvimento, existe o licenciamento do tipo "normal", já no Tomcat de homologação o licenciamento do tipo "test".

Então concluí-se que no o arquivo .../TOMCAT/conf/context.xml, podem existir propriedades diferenciadas para os ambientes, onde os valores especificados ficarão "fixos" dentro desses ambientes.

...

Context

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 sobrescrevendo a porta do License:

...

Quando adicionada uma propriedade no context.xml, está "sobrescrevendo" (em tempo de execução) o valor desta propriedade, onde o valor já existente no banco de dados será ignorado e será desconsiderado qualquer valor especificado na tela HTML de Propriedades do Sistema. Este recurso é muito útil quando existem ambientes de homologação, desenvolvimento e produção, pois cada um poderá ter o seu próprio AppServer e as suas propriedades customizadas.

Informações

Todos as propriedades são do tipo java.lang.String

...

Agrupadores de Propriedades

A partir da versão 12.1.28 do produto DATASUL, estará disponibilizada 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 pode-se configurar propriedades com valores diferenciados entre eles. Com isso é possível utilizar o mesmo servidor Appserver e o mesmo servidor de banco de dados.

Image Removed

Nesse exemplo, as configurações do arquivo context.xml serão as seguintes:

  • Ambiente de Desenvolvimento

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="desenv" type="java.lang.String" />
    <Environment name="totvs.license.ambient.type" value="normal" type="java.lang.String" />
</Context>
  • 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

...

em todos os ambientes.