Plugins classloader
This topic provides information on how Digital.ai Deploy operates on the Java Virtual Machine (JVM) with two classloaders: one for the server and one for plugins and extensions. Plugins can be packaged in either .xldp or .jar formats, with the XLDP format being a ZIP archive that includes the plugin and all its dependencies.
To install or remove a plugin, you must stop the Digital.ai Deploy server. Plugins that are installed or removed while the server is running will not take effect until it is restarted.
Server classloader
The Digital.ai Deploy server classpath contains resources, configuration files, and libraries that the server needs to work. The default Digital.ai Deploy server classloader will use the following classpath:
Directory | Description |
---|---|
XL_DEPLOY_SERVER_HOME/conf | For configuration files. |
XL_DEPLOY_SERVER_HOME/hotfix/lib/* | For server hotfix JARs. |
XL_DEPLOY_SERVER_HOME/lib/* | For server library JARs. |
You can configure these directories in XL_DEPLOY_SERVER_HOME/conf/(xld-wrapper.conf.posix)|xld-wrapper.conf.win)
.
Plugin classloader
In addition to the Digital.ai Deploy server classloader, there is a plugin classloader. The plugin includes the classpath of the server classloader. It also includes:
Directory | Description |
---|---|
ext | Directly added to the classpath and can contain classes and resources that are not in a JAR file. |
The plugin classloader also scans the following directories and adds all *.jar
and *.xldp
files to the classpath:
Directory | Description |
---|---|
XL_DEPLOY_SERVER_HOME/hotfix/plugins/* | Can contain hotfix JARs for plugins. |
XL_DEPLOY_SERVER_HOME/plugins/* | Contains installed plugins. |
These paths are not configurable. The directories are loaded in the order that they are listed. This order is important. For example, hotfixes must be loaded before the code so that it can override the server behavior.