demoiselle/framework — pull request #30 by marciopd (2013-10-09 04:36:28+00:00)
Title: Proposta de serviço para recuperação de variáveis de ambiente

É muito comum em sistemas o uso de variáveis que mudam de valor dependendo do ambiente de execução (desenvolvimento, testes, validação, produção, etc).

Estas variáveis costumam ser configuradas externamente à build do sistema, em um arquivo de configuração do servidor de aplicação ou via propriedades de sistema.

No Jboss (7 e EAP 6) e Tomcat (6 e 7), por exemplo, normalmente estas variáveis são configuradas nos arquivos de configuração standalone.xml e context.xml, respectivamente, e acessadas via JNDI nas aplicações.

Nesta proposta envio um serviço extensível (JSE6) para resolução de variáveis de ambiente. Os provedores de serviço incluídos na implementação podem ser usados para recuperar variáveis configuradas via JNDI no servidor e via variáveis de sistema da JVM.

Se necessário, desenvolvedores podem escrever novos provedores para seus projetos sem afetar o código do framework utilizando o mecanismo de extensão do próprio Java (http://docs.oracle.com/javase/tutorial/ext/basics/spi.html).

Há testes unitários cobrindo o funcionamento e documentando o uso do serviço.