Spring ApplicationContext.getBean (Classe c) não está funcionando para classes de proxy

Preciso procurar beans através do tipo de classe. Quando os beans foram agrupados por um Proxy (alguns métodos são @Transactional) - o ApplicatoinContext falha ao encontrá-los. Acho que, se eu os procurar através de uma interface, funcionará, mas, neste caso, estou trabalhando com um tipo de classe concreto. Eu sei que o bean é do tipo que estou procurando, mas o método getBean () falha.

Eu posso depurar (e corrigir) o problema no código AbstractBeanFactory do Spring. O problema é que ele verifica o tipo de beanInstance com o tipo que estou solicitando, mas o beanInstance.getClass () é um proxy. AbstractBeanFactory deve compensar isso e comparar o tipo com a classe de destino do proxy.

Eu tenho uma correção para isso, mas eu particularmente não quero usar uma versão corrigida do Spring e suspeito que deve haver algo que eu possa configurar para que isso funcione, ou isso é realmente um bug?

questionAnswers(2)

yourAnswerToTheQuestion