El objeto no es una 'instancia de' es su propia clase

Estoy tratando de buscar algunos problemas con la primavera sin gastar una fábrica Bean. Me conecté a un depurador y probé que el error está en esta línea de AbstraceBeanFactory:

if(!(beanInstance instanceof FactoryBean) || BeanFactoryUtils.isFactoryDereference(name)) {
   return beanInstance;
}

específicamente, la parte "beanInstance instanceof FactoryBean" devuelve falso cuando debería ser verdadero, lo que hace que devuelva un bean de fábrica en lugar del bean que se supone que la fábrica debe construir.

Mi depurador me dice claramente que beanInstance es un org.springframework.beans.factory.config.PropertiesFactoryBean. Cuando le digo a eclipse que expanda la clase de bean, veo que implementa claramente FactoryBean

Para más pruebas fui a expresiones. Supuestamente la expresión:

beanInstance instanceof org.springframework.beans.factory.config.PropertiesFactoryBean

devuelve falso Sin embargo beanInstance.getClass () devuelve

(org.springframework.beans.factory.config.PropertiesFactoryBean) (id=112)

Parece que mi VM está muy confundida acerca de esta clase. Estoy tratando de averiguar qué causaría esta confusión y cómo puedo solucionarlo.

El caso más probable parece ser la confusión entre múltiples cargadores de clases, pero no he encontrado ningún ejemplo obvio. Solo debería haber una implementación de PropertiesFactoryBean en mi classpath.

¿Qué haría que instancia de fallara de esta manera? ¿Cómo puedo buscar mi causa raíz?

Por cierto, esta es una instancia de Tomcat que estoy depurando, si es relevante. Además, beanInstance es una instancia de Object, por lo que a veces funciona correctamente.

PD. Tuve que escribir esto a mano en lugar de copiar / pegar. Suponga que cualquier error obvio de nombres son errores tipográficos de mi parte.

editar: reparó el error tipográfico paren mencionado en los comentarios. Pensé que haría eso. Este código proviene de Spring sin modificaciones por mí, por lo que es seguro asumir que el código en sí está bien escrito y es funcional, incluso si cometí un error tipográfico

Respuesta 1

Estoy tratando de completar una lista de matriz JCF, y se compiló muy bien hace 30 minutos, pero ahora recibo el error "El tipo ArrayList no es genérico; no se puede parametrizar con argumentos". YO ...

Así que tengo un fragmento de código que básicamente debería incluir una cadena de fecha y hora y devolverla EXACTAMENTE en el mismo formato val dateString = "2016-01-01T01: 30: 55.000 + 00: 00" println ("before:" + dateString) ...

Necesito eliminar un elemento del Mapa distribuido de Hazelcast y uso algo como este código (simplificado): public void realeaseBatchesById (int Id) {Iterator <Map.Entry <Long, WorkingBatch & ...

Estoy creando un programa que le pide al usuario varios números enteros y una de las declaraciones le pregunta al usuario "Ingrese un número entero que sea negativo, par o positivo e impar". ¿Cómo exactamente haría yo ...