Uploaded image for project: 'Wink'
  1. Wink
  2. WINK-226

need fallback for Class.forName in J2EE environments

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.1
    • Fix Version/s: 1.1
    • Component/s: Server
    • Labels:
      None

      Description

      In J2EE environments, the Wink libraries may be managed by a different classloader (A) than the Application subclass (B). In these cases, (A) needs to load (B) by way of Class.forName(B). However, due to the J2EE environment, and classloader hierarchies, (A) does not have visibility into (B).

      The solution is to use the thread context classloader instead of Class.forName, which uses the system classloader. This "try thread context classloader first, then fallback to system classloader" functionality is built into org.apache.commons.lang.ClassUtils.getClass(String). We already have a dependency on Apache commons in wink-server, so I figure we can just use that.

      1. WINK-226.patch
        4 kB
        Mike Rheinheimer

        Activity

        Hide
        rott Mike Rheinheimer added a comment -

        Committed in SVN rev 832873.

        Show
        rott Mike Rheinheimer added a comment - Committed in SVN rev 832873.
        Hide
        hudson Hudson added a comment -

        Integrated in Wink-Trunk-JDK1.5 #237 (See http://hudson.zones.apache.org/hudson/job/Wink-Trunk-JDK1.5/237/)
        : need fallback for Class.forName in J2EE environments

        Show
        hudson Hudson added a comment - Integrated in Wink-Trunk-JDK1.5 #237 (See http://hudson.zones.apache.org/hudson/job/Wink-Trunk-JDK1.5/237/ ) : need fallback for Class.forName in J2EE environments

          People

          • Assignee:
            Unassigned
            Reporter:
            rott Mike Rheinheimer
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development