Variável estática aparece como nula após a inicialização

0 respostas
M

Pessoal, bom dia.

Tenho um servlet que inicializa, lê todas as configurações e seta os atributos estáticos de várias classes. Por exemplo, um endereço web que deve ser acessado pela classe WSClient.

Ok. Eu vejo o atributo receber o valor correto.

Mais adiante, ao inicializar a classe WSClient, quando tento usar o endereço web que passei na inicialização, vejo que o atributo estático está nulo.

Inseri o código System.out.println(WSClient.class.getClassLoader().toString()); e obtive o seguinte resultado:

WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@ea206b

quando ocorre a chamada para setar os atributos estáticos, e

WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@1c6c5b7

quando instancio a classe para utilizá-la. Nesta hora os atributos estáticos são nulos.

Parece-me que as classes estão sendo instanciadas por 2 class loaders diferentes (java.net.FactoryURLClassLoader@ea206b e java.net.FactoryURLClassLoader@1c6c5b7) e isto está causando o problema com os atributos estáticos.

Ambiente:
JBoss 4.2.2 GA
Java 1.5

Alguém sabe o que está ocorrendo e o que posso fazer para resolver o problema?

Obrigado.

Criado 13 de maio de 2008
Respostas 0
Participantes 1