Reflexão + StackOverflow

1 resposta
sgaothaich

Estou utilizando a classe ToStringBuilder do Apache Commons para fazer reflexão nos argumentos de métodos para fins de logging, como segue:

String result = ToStringBuilder.reflectionToString(Object args[i], ToStringStyle.SHORT_PREFIX_STYLE);

Ocorre que quando o método reflectionToString recebe uma instância de classe que possui uma variável de instância, que possui uma variável de instância e por aí vai… me explode uma StackOverflowException.
Existe outra maneira mais eficiente de fazer reflexão neste caso? Ou uma maneira de definir a ‘profundidade’ da reflexão?

1 Resposta

Ataxexe

Apesar de eu não saber como definir a profundidade da reflexão eu aconselho você a repensar esse logging caso esse método seja muito chamado. Reflexão é muito custosa pra máquina virtual e pode ocasionar gargalos se mal aplicada.

Criado 5 de julho de 2012
Ultima resposta 6 de jul. de 2012
Respostas 1
Participantes 2