Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-4639

Implementation ClassUtils needs "newInstance" methods added to support OSGI runtimes

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      This is basically the same issue as https://issues.apache.org/jira/browse/MYFACES-4449

      This variant was originally reported here: https://github.com/OpenLiberty/open-liberty/issues/26760

      However, the CNFE occurs with the newInstance methods since the classes are looked up via the API classloader and therefore not found (since the classes exist in the Impl and OSGI creates seperate between bundles. See the discussion in 4449 for more information)

      Example of error:
      [ERROR   ] Class org.apache.myfaces.push.WebsocketInitRenderer not found
      org.apache.myfaces.push.WebsocketInitRenderer cannot be found by io.openliberty.jakarta.faces.4.0_1.0.84.202311061333

      This error is related to whether the renderkit is an instance of LazyRenderKit. If it's not, then the standard form look up used (via newInstance). 

      LazyRenderKit code was added via MYFACES-3815 : https://github.com/apache/myfaces/commit/93a2ddf060d04cea658f58f9223c22b5badeea90

      I'm not entirely sure how this happens in the users case above, but we should move these methods again to avoid these errors. I'll have a PR up soon.

      Attachments

        Activity

          People

            Unassigned Unassigned
            volosied Volodymyr Siedlecki
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: