reconf/reconf-jvm — pull request #29 by andrericos (2014-06-26 18:22:02+00:00)
Title: Invoking native methods

The initial validations guarantees that any method invocation on a Reconf Proxy will be a annotated method or a native method (inherited from java.lang.Object).
I found this issue when i was investigating this stacktrace:

[0.0.66][26-06-2014 14:38:56] ERROR org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroy method on bean with name 'getConfig' threw an exception
java.lang.IllegalArgumentException: method [public native int java.lang.Object.hashCode()] is not a ConfigurationItem
at reconf.client.proxy.ConfigurationRepositoryFactory.invoke(ConfigurationRepositoryFactory.java:109) ~[reconf-client-2.1.0.jar:na]
at com.sun.proxy.$Proxy90.hashCode(Unknown Source) ~[na:na]
at java.util.concurrent.ConcurrentHashMap.hash(Unknown Source) ~[na:1.7.0_51]
at java.util.concurrent.ConcurrentHashMap.remove(Unknown Source) ~[na:1.7.0_51]
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessBeforeDestruction(PersistenceAnnotationBeanPostProcessor.java:373) ~[spring-orm-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:238) ~[spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:540) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:516) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:827) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE]