Discovery of modules is based on classpath scanning. In some situations it
may not be possible or desirable to change the classpath. To force a
module to not load you can create a file called modules.properties on the
classpath that can exclude specific modules from loading. Additionally
this same file can be used to exclude a specific extension. Extension
loading is typically done through global configuration. If you want to set
up an environment and you don't even want the extension/module loaded on
the first start, then using the config file is appropriate.
Example: modules.properties
modules.exclude=storage-image-s3,storage-volume-solidfire
extensions.exclude=ClusterScopeStoragePoolAllocator,ZoneWideStoragePoolAllocator
Typically you would want to place this file in /etc/cloudstack/management
ACS is now comprised of a hierarchy of spring application contexts.
Each plugin can contribute configuration files to add to an existing
module or create it's own module.
Additionally, for the mgmt server, ACS custom AOP is no longer used
and instead we use Spring AOP to manage interceptors.