Java shared classloader

The Java shared classloader loads all the JAR files that are located within the shared-classes directories. For integration servers that are associated with an integration node, the precedence order of loading is dictated by the directories in which the JAR files are located. For independent integration servers, the JAR files are placed in the shared-classes directory under the integration server work directory for the integration server.

The way in which the JAR files are loaded depends on whether the integration server is associated with an integration node or is independent of an integration node:

  • Integration servers associated with an integration node:
    JAR files are loaded in the following precedence order:
    1. JAR files placed in the integration server shared-classes directory allow only a single defined integration server to access them. Files placed in here are loaded first. No other integration servers can use them.
      Add the JAR files to the following directory:
      • For Windows

        workpath\config\<my_int_node_name>\<my_int_server_label>\shared-classes

      • For Linux®

        workpath/config/<my_int_node_name>/<my_int_server_label>/shared-classes

      Ensure that the integration node name, and any integration servers created, contain only characters that are valid on your file system. You may also need to create the required directory structure.

      All files placed into the integration server shared-classes directory that have a .jar extension, are loaded and made available in the Java™ environment for that integration server. JAR files in this directory take precedence over JAR files in the integration node shared-classes directory.

      Note: If the integration server shared-classes directory is empty when the integration server is deleted, the directory is automatically removed.
    2. JAR files placed in the integration node shared-classes directory allow only a single defined integration node to access them. Files placed in here are loaded after any files placed in the integration server shared-classes directory. No other integration node can use them.
      Add the JAR files to the following directory:
      • For Windows

        workpath\config\<my_int_node_name>\shared-classes

      • For Linux

        workpath/config/<my_int_node_name>/shared-classes

        Ensure that the integration node name contains only characters that are valid on your file system. You may also need to create the required directory structure.

        All files placed into the integration node shared-classes directory that have a .jar extension, are loaded and made available in the Java environment for all integration servers in that integration node. JAR files in this directory take precedence over JAR files in the top level shared-classes directory.

        Note: If the integration node shared-classes directory is empty when the integration node is deleted, the directory is automatically removed.
    3. JAR files placed in the top level shared-classes directory are made available to all integration node and all integration servers. Files placed in here are loaded after any files placed in the integration node shared-classes directory.

      Add the JAR files to the following directory:

      • For Windows

        workpath\shared-classes

      • For Linux

        workpath/shared-classes

  • Independent integration servers:

    The Java shared classloader loads all the JAR files that are located within the shared-classes directories. JAR files are placed in the shared-classes directory under the integration server work directory for the integration server. For example, if the work directory passed to the IntegrationServer command on startup is /Users/user1/workDir1, the shared-classes directory is /Users/user1/workDir1/shared-classes.