Software AG Products 10.11 | 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.