Uploaded image for project: 'OpenICF'
  1. OpenICF
  2. OPENICF-1523

ScriptedGroovy connectors fail to load in IDM 7.x when embedded Groovy version does not match IDM Groovy version

    XMLWordPrintable

    Details

    • 5
    • 2021.1 - IDM

      Description

      Attempts to upgrade the version of Groovy which is embedded within the Scripted Groovy based connectors has exposed runtime problems when mixing and matching Groovy version included in IDM (OSGi Bundles) and Connectors (embedded).

      Specifically, the Groovy engine looks for Groovy modules on the classpath. These modules are available via the OSGi Bundle Classloader for the IDM ICF Provisioner and thus to connectors via the ICF BundleClassLoader's parent classloader. As such there are actually two sets of Groovy modules on the classpath, those embedded within the Connector and accessible via the ICF BundleClassLoader and those distribute within IDM and exposed via the OSGi bundle classloader. At runtime the Groovy engine detects both sets of modules via a call to ClassLoader.findResources() and throws an Exception due to the a version conflict.

      For example:
      Conflicting module versions. Module [groovy-datetime is loaded in version 3.0.4 and you are trying to load version 3.0.7
       

        Attachments

          Activity

            People

            cgdrake Chris Drake
            cgdrake Chris Drake
            Son Nguyen Son Nguyen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: