Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-3059

Unable to replace implementation of the dynamically loaded class with its super class

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • None
    • 4.3
    • core
    • None

    Description

      Since the changes made to FactoryUtil and mechanism of class instantiation it is no longer possible to replace class implementation with its superclass at runtime.
      To reproduce the issue:

      1. extend some existing class, e.g. URI2RepositoryManager
      2. configure Magnolia to use extending class (in this case set /server/URI2RepositoryMapping/class to full.name.of.ExtendedURI2RepositoryManager)
      3. check that everything works fine with the extending class (e.g. try to display some page from website)
      4. restart Magnolia to make to have it started with extending class
      5. repeat step 3) (to see that everything still works)
      6. change URI2RepositoryManager configuration back to use the original URI2RepositoryManager implementation
      7. try to repeat step 3) ==> page loading fails with ClassCastException

      Checklists

        Acceptance criteria

        Attachments

          Issue Links

            Activity

              People

                rkovarik Roman Kovařík
                had Jan Haderka
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Checklists

                    Bug DoR
                    Task DoD