Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.8.0
-
None
Description
If a bean contains a method
setAnyMapped(anyTypeButString,anyType)
without a corresponding getter the first calls to getMappedWriteMethod return the corresponding method, but if the soft reference to the method has been garbage collected the runtime exception 'Method ... for ... could not be reconstructed - method not found" is thrown.
First of all I think it is a bug that getMappedWriteMethod is not invariant in its behaviour concerning garbage collection (at least it should not throw an exception in this case), but secondly I wonder if it is correct at all that constructing a MappedPropertyDescriptor is possible though the first parameter is not of type String. But this "odd" behaviour is actually tested within MappedPropertyTestCase.testAnyArgsProperty().
For me I would be fine if either construction of MappedPropertyDescriptor would fail or getMappedWriteMethod would return null or the method in both cases before and after garbage collection. The only thing that breaks my app is the exception being thrown as this is not catched within my call of BeanUtils.populate.