Windows
Um erro comum é criar as variáveis nos arquivos startup.bat ou catalina.bat (.../apache-tomcat/bin), pois as variáveis somente serão consideradas se o serviço for inicializado à partir do CMD do Windows com estes arquivos.
Já quando se configura como Serviço do Windows (o que faz muito mais sentido para os ambientes dos clientes), estes arquivos não são considerados no momento da inicialização. Para estes casos, as variáveis devem ser tratadas no Registro do Windows.
Para isso, existem duas formas:
Opção 1 - editar diretamente o Registro do Windows
Esta ação deve ser feita com muita cautela, sob risco de desestabilização dos serviços em caso de alteração indevida.
Localize o registro conforme o print abaixo:
- Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\<NOME_DO_SEU_TOMCAT>\Parameters
- Na chave Environment, adicione as variáveis de ambiente, separando com quebra de linha, conforme o print:
Opção 2 - adicionar as variáveis pelo CMD do Windows
Abra um CMD do Windows com permissões de Administrador.
Posicione na pasta bin do seu Tomcat. Exemplo:
cd c:\totvs\datasul\apache-tomcat\bin
Execute a seguinte linha de comando, ajustando conforme a sua necessidade:
<NOME_DO_SEU_TOMCAT>.exe //US//NOME_DO_SEU_TOMCAT ++Environment TOTVS_HOST=<VALOR_PARA_A_VARIAVEL>
O comando acima com ++Environment vai adicionar a variável ao registro do Windows.
Após executar os comandos, pode ser consultado diretamente no Registro, conforme explicado na Opção 1.
Linux
No Linux recomenda-se configurar o Tomcat do Datasul como Serviço, e tratar as variáveis de ambiente no mesmo arquivo.
Neste exemplo estamos utilizando a estrutura /etc/systemd/system/<NOME_DO_SEU_TOMCAT>.service:
Para que o Linux reconheça o seu novo serviço após criar o arquivo acima:
sudo systemctl daemon-reload
Para que o seu novo serviço inicialize automaticamente quando o Linux for reinicializado:
sudo systemctl <NOME_DO_SEU_TOMCAT> enable
Para inicializar manualmente o serviço:
sudo systemctl start <NOME_DO_SEU_TOMCAT>
Para parar manualmente o serviço:
sudo systemctl stop <NOME_DO_SEU_TOMCAT>