Uploaded image for project: 'Commons BeanUtils'
  1. Commons BeanUtils
  2. BEANUTILS-347

MappedPropertyDescriptor throws an exception after method reference has been garbage collected

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.8.0
    • 1.8.1
    • Bean / Property Utils
    • 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.

      Attachments

        1. Jira347TestCase.java
          7 kB
          Eickvonder

        Activity

          People

            niallp Niall Pemberton
            eicki Eickvonder
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: