[
https://issues.apache.org/jira/browse/CONFIGURATION-627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15530629#comment-15530629
]
Oliver Heger commented on CONFIGURATION-627:
--------------------------------------------
I don' t think there is anything to fix in Commons Configuration.
BeanUtils's {{FluentPropertyBeanIntrospector}} scans classes for property
access methods. If it encounters a set() method whose signature is not
compatible with a property setter method, it issues this log message. When
applied on a Configuration object this happens for the _setProperty()_ method
(which obviously cannot be renamed).
The original bug report was that an exception stack trace on level WARN was
logged. This has been changed to a message on INFO level which might be useful
for diagnostic purposes. (I am not sure whether a low-level library like
BeanUtils actually needs logging, but so is the current implementation.)
Do you mean this INFO message is still a problem?
> BeanHelper exception on XMLConfiguration builder.getConfiguration()
> -------------------------------------------------------------------
>
> Key: CONFIGURATION-627
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-627
> Project: Commons Configuration
> Issue Type: Bug
> Affects Versions: 2.0
> Environment: JDK 1.8, Maven 3.3.9
> Reporter: Martin
> Priority: Minor
>
> Creating an *XMLConfiguration* from a file with a builder:
> {code:java}
> builder =
> new FileBasedConfigurationBuilder<XMLConfiguration>(
> XMLConfiguration.class)
> .configure(params.xml()
> .setFileName(
> propsFile.getCanonicalPath())
> .setValidating(false));
> config = builder.getConfiguration();
> {code}
> Causes a non-halting exception originating in
> *org.apache.commons.configuration2.beanutils.BeanHelper*, method
> *private static boolean isPropertyWriteable(Object bean, String propName)*
> with parameters *XMLConfiguration*, *"validating"*.
> The exception:
> {noformat}
> May 04, 2016 3:29:26 PM
> org.apache.commons.beanutils.FluentPropertyBeanIntrospector introspect
> WARNING: Error when creating PropertyDescriptor for public final void
> org.apache.commons.configuration2.AbstractConfiguration.setProperty(java.lang.String,java.lang.Object)!
> Ignoring this property.
> java.beans.IntrospectionException: bad write method arg count: public
> final void
> org.apache.commons.configuration2.AbstractConfiguration.setProperty(java.lang.String,java.lang.Object)
> at
> java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:657)
> at
> java.beans.PropertyDescriptor.setWriteMethod(PropertyDescriptor.java:327)
> at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:139)
> at
> org.apache.commons.beanutils.FluentPropertyBeanIntrospector.createFluentPropertyDescritor(FluentPropertyBeanIntrospector.java:177)
> at
> org.apache.commons.beanutils.FluentPropertyBeanIntrospector.introspect(FluentPropertyBeanIntrospector.java:140)
> at
> org.apache.commons.beanutils.PropertyUtilsBean.fetchIntrospectionData(PropertyUtilsBean.java:2234)
> at
> org.apache.commons.beanutils.PropertyUtilsBean.getIntrospectionData(PropertyUtilsBean.java:2215)
> at
> org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:950)
> at
> org.apache.commons.beanutils.PropertyUtilsBean.isWriteable(PropertyUtilsBean.java:1466)
> at
> org.apache.commons.configuration2.beanutils.BeanHelper.isPropertyWriteable(BeanHelper.java:521)
> at
> org.apache.commons.configuration2.beanutils.BeanHelper.initProperty(BeanHelper.java:357)
> at
> org.apache.commons.configuration2.beanutils.BeanHelper.initBeanProperties(BeanHelper.java:273)
> at
> org.apache.commons.configuration2.beanutils.BeanHelper.initBean(BeanHelper.java:192)
> at
> org.apache.commons.configuration2.beanutils.BeanHelper$BeanCreationContextImpl.initBean(BeanHelper.java:669)
> at
> org.apache.commons.configuration2.beanutils.DefaultBeanFactory.initBeanInstance(DefaultBeanFactory.java:162)
> at
> org.apache.commons.configuration2.beanutils.DefaultBeanFactory.createBean(DefaultBeanFactory.java:116)
> at
> org.apache.commons.configuration2.beanutils.BeanHelper.createBean(BeanHelper.java:459)
> at
> org.apache.commons.configuration2.beanutils.BeanHelper.createBean(BeanHelper.java:479)
> at
> org.apache.commons.configuration2.beanutils.BeanHelper.createBean(BeanHelper.java:492)
> at
> org.apache.commons.configuration2.builder.BasicConfigurationBuilder.createResultInstance(BasicConfigurationBuilder.java:447)
> at
> org.apache.commons.configuration2.builder.BasicConfigurationBuilder.createResult(BasicConfigurationBuilder.java:417)
> at
> org.apache.commons.configuration2.builder.BasicConfigurationBuilder.getConfiguration(BasicConfigurationBuilder.java:285)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)