Arquivo properties

4 respostas
H

Ola

Estou com uma aplicacao eb onde vou roda-la em mais de um servidor. Cada servidor tem um arquivo .properties que contem os parametros.

Quero que a aplicacao leia este arquivo no inicio para descobrir os parametros de cada servidor. Como fazer para o Propertie.load enchergar o arquivo ?

Grato
Helder

4 Respostas

R

Pelo que eu sei, vc pode pegar esse arquivo de três formas:

  1. A partir do class do objeto
  2. A partir do Classloader
  3. A partir do ResourceBundle (esse eu acho mais fácil!)

Com ResourceBundle vc faz assim:

ResourceBundle rb = ResourceBundle.getBundle("pacote.nomeArquivo");

aí tem vários métodos pra recuperar os valores…
Obs.: O nome do arquivo é SEM a extensão “properties”.

No teu caso vc colocaria isso em um Listener de contexto, que é executado quando a aplicação é distribuída.

Valeu!

H

Romulinho,

Obrigado pela atencao. Mas o que é exatamente “listener de contexto”. Estou iniciando e nao sei como fazer…

Pensei em colocar o arquivo no WEB-INF, pode ser ?

Grato
Helder

I

Não sei se entendi muito bem o que tu prentede. Se tu tens diversos servidores e cada um tem seu arquivo .properties para ser carregado, na eminência de precisar o arquivo tu podes ver se ele existe, caso contrário, carrega:

public class Teste {
    Properties p; //representa o arquivo de prop.
    private void doPerform() {
         if (p == null) {
             p = getProperties();
         }
         //... usa o arquivo
    }
    private Properties getProperties() {
         //TODO
    }
}

Espero que ajude, T+

R

Listener de Contexto é um ouvidor de eventos que ocorrem no escopo da aplicação, por exemplo: “a aplicação é inicializada” ou “a aplicação é destruída”.

Vc consegue um fazendo uma classe que implementa a interface ServletContextListener. No método contextinitialized() vc coloca o código que vai ler o arquivo properties.

Esse método é executado assim q vc distribui a aplicação, é a primeira coisa a ser executada.

Qualquer dúvida, tamos aí!

Valeu![/code]

Criado 16 de novembro de 2006
Ultima resposta 18 de nov. de 2006
Respostas 4
Participantes 3