Software AG Products 10.5 | Administering Integration Server | Class Loading in Integration Server | Adding Classes to the Server Classpath | How Classes Are Found
 
How Classes Are Found
 
How Classes Are Found in Microservices Runtime
When you are choosing where to put your classes on the server classpath, as described in Adding Classes to the Server Classpath, consider the effect of the possible locations on the loading order. Here is the order in which Integration Server searches the various locations relative to one another:
1. watt.server.prepend.classes
2. Software AG_directory \ Integration Server_directory \instances\instanceName\bin\ini.cnf
Specifically, the application.classpath property in the ini.cnf file. The application.classpath property typically specifies classes in the following directories, in this order:
* Integration Server_directory \lib
* Software AG_directory \common\lib
3. Software AG_directory \ Integration Server_directory \instances\instanceName\lib\jars
4. Software AG_directory \ Integration Server_directory \instances\instanceName\lib\jars\custom
5. Software AG_directory \ Integration Server_directory \lib\jars
6. Software AG_directory \ Integration Server_directory \lib\jars\custom
7. Software AG_directory \ Integration Server_directory \instances\instanceName\packages\packageName\code\jars\static
8. watt.server.append.classes
Note:
For information about the directories Microservices Runtime searches for class and jar files, see How Classes Are Found in Microservices Runtime .
If you have two or more copies of a class, whether it is a single class file or is a class in a jar file, and multiple locations for the class appear in the server classpath, Integration Server always loads the instance of the class that appears first in the server classpath. Integration Server never uses other instances of the same class that appear later in the server classpath. A scenario where this is significant is when different versions of a third-party jar file are on the server classpath. Integration Server always uses the version that comes first in the server classpath.
If more than one package has jar files in its code\jars\static directory, the jar files will be added to the server classpath in alphabetical order, by package name. For example, jar files in PackageA\code\jars\static will be loaded before jar files in PackageB\code\jars\static.
You can view the Integration Server classpath on the About page in Integration Server Administrator.