Mudanças entre as edições de "RFW"
Linha 18: | Linha 18: | ||
* '''pDev(...)''' - permite a impressão no console com o System.out.println(), somente quando estiver no ambiente de desenvolvimento. | * '''pDev(...)''' - permite a impressão no console com o System.out.println(), somente quando estiver no ambiente de desenvolvimento. | ||
== Modo Desenvolvimento == | |||
O método citado acima '''isDevelopmentEnvironment()''' retorna true caso o arquivo '''rfwdev.properties''' exista na pasta Home do usuário. | |||
* No windows o arquivo deve estar na pasta %userprofile% | |||
* No linux o arquivo deve estar na pasta ~ | |||
A simples existencia do arquivo na pasta faz com que o framework RFW identifique que é um ambiente de desenvolvimento, e passa a imprimir mais informações no console, bem como a executar trechos de código que dependam do método '''isDevelopmentEnvironment()'''. | |||
=== Propriedades do Arquivo === | |||
Embora só a existência do arquivo já configure o sistema para um ambiente de desenvolvimento, o arquivo ainda pode ser utilizado como um arquivo de properties para definir propriedades do sistema para o ambiente de desenvolvimento. Configurações que muitas vezes não temos no ambiente de produção. Como chaves de autenticações temporárias, pastas, flags, etc. | |||
Para ler uma propriedade deste arquivo você pode utilizar o método '''RFW.getDevProperty(String property)'''. | |||
= Shutting Down the Framework = | = Shutting Down the Framework = |
Edição atual tal como às 13h38min de 9 de agosto de 2023
A classe estática RFW tem a finalidade de acumular configurações e métodos auxiliares para todos os módulos e implementação da aplicação. Como, por exemplo, métodos para retornar a data do sistema e formato, localidade, sistema de arredondamento de cálculos, flags de inicialização e desligamento do sistema, etc..
Ao concentrar métodos de configuração em uma única classe, ganhamos em manutenção quando desejamos fazer alterações desse tipo em todo o sistema.
Inicialização do Framework
Para simplificar a configuração inicial do RFW, a classe conta com uma coleção de métodos initialize*() que destacam as funções que podem/devem ser chamadas para inicializar o RFW. Desta forma, a medida que o framework ganhe novas funcionalidade, novos métodos com este prefixo serão criados.
Ao implementar o sistema, o desenvolvedor deve chamar esses métodos de inicialização logo que a aplicação "levanta". E devem ser chamados uma única vez. Se o sistema todo procurar as informações dessa classe, uma alteração em seus atributos terão o efeito total e em tempo de execução do sistema.
Métodos para o Desenvolvimento
Esta classe também conta com métodos para auxiliar no desenvolvimento. Entre eles estão:
- isDevelopmentEnvironment() - que indica que o sistema está rodando em um ambiente de desenvolvimento ou produção. Utilizado para diferenciar blocos de execução do código, e talvez evitar que códigos de teste sejam acidentalmente esquecidos e executados na produção.
- pDev(...) - permite a impressão no console com o System.out.println(), somente quando estiver no ambiente de desenvolvimento.
Modo Desenvolvimento
O método citado acima isDevelopmentEnvironment() retorna true caso o arquivo rfwdev.properties exista na pasta Home do usuário.
- No windows o arquivo deve estar na pasta %userprofile%
- No linux o arquivo deve estar na pasta ~
A simples existencia do arquivo na pasta faz com que o framework RFW identifique que é um ambiente de desenvolvimento, e passa a imprimir mais informações no console, bem como a executar trechos de código que dependam do método isDevelopmentEnvironment().
Propriedades do Arquivo
Embora só a existência do arquivo já configure o sistema para um ambiente de desenvolvimento, o arquivo ainda pode ser utilizado como um arquivo de properties para definir propriedades do sistema para o ambiente de desenvolvimento. Configurações que muitas vezes não temos no ambiente de produção. Como chaves de autenticações temporárias, pastas, flags, etc.
Para ler uma propriedade deste arquivo você pode utilizar o método RFW.getDevProperty(String property).
Shutting Down the Framework
Quando a aplicação for encerrada o método .shutdownRFW() deve ser chamado. Assim o RFW sinalizará para todos os módulos que suas threads e funcionamento precisam ter finalizados sem perda ou corrupção de dados.
A aplicação sendo desenvolvida pode monitorar essa flag para saber se o sistema está sendo finalizado (undeploy, por exemplo) e parar de aceitar novas solicitações/requisições e encerrar suas thread.