Vazamento de memória JAXBContext.newInstance

Após uma implantação recente no teste do sistema, um de nossos servlets foi atingido com muito mais força do que o normal e notamos que a memória começou a subir e o weblogic acabaria morrendo. Meu estagiário, fiquei muito orgulhoso, descobriu a fonte do vazamento de memória.

Sempre que uma solicitação chega, essa linha é chamada:

JAXBContext jc = JAXBContext.newInstance(“ruby.oracle_servlet.schemas”);

Por alguma razão, o objeto nunca recebe lixo coletado. Depois de torná-lo estático e mudar para onde o inicializamos, nosso vazamento de memória desapareceu.

Outro de nossos desenvolvedores colocou essa linha em um loop while em um aplicativo java independente e também viu a memória subir e subir.

Alguém tem alguma idéia de por que esse objeto não coleta lixo?

obrigado

questionAnswers(2)

yourAnswerToTheQuestion