API Management 10.4 | Administering Integration Server | Class Loading in Integration Server | Adding Classes to the Server Classpath | Adding Classes to a Package
 
Adding Classes to a Package
If a class will be used only by services in a single Integration Server package, you can limit the visibility of the class to that package by placing the class in the package's code/classes directory. If the class is distributed in a jar or zip file, place it in the package's code/jars directory. Files in a package's code/classes or code/jars directories are not added to the Integration Server’s classpath.
Note: If you change the contents of a jar or class file in a package's code/jars or code/classes directory, reload the package to make the change take effect. You do not need to restart Integration Server for the changes to take effect.
If you have a package that needs access to a class in another package's code/classes or code/jars directory, you can provide access by creating a dependency relationship between the two packages. For example, consider the following scenario:
*PackageA has a class in its code/classes directory.
*PackageB needs to use the class in PackageA's code/classes directory.
You can use Designer to establish a dependency on PackageA from PackageB.
Alternatively, you can modify PackageB's manifest.v3 to require PackageA.
<record name="requires" javaclass="com.wm.util.Values">
<value name="PackageA">1.0</value>
</record>
After editing the manifest, if Integration Server is running, reload PackageB.
PackageB is now able to access classes in PackageA's code/classes and code/jars directories. Because PackageB requires PackageA, PackageB cannot be enabled unless PackageA is enabled. PackageA cannot be disabled unless PackageB is disabled. Reloading PackageA will cause PackageB to be reloaded.

Copyright © 2015- 2019 | Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.
Innovation Release