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

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

XMLWordPrintable

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

      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

        Acceptance criteria

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

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD