Blueprint Developer Manual / Version 2107
Table Of ContentsSome CoreMedia Java applications provide extension points which are interfaces for which you can provide implementations (extensions, see Section 4.1.6.1.2, “Extensions”) via a plugin.
For the integration of plugins with an application the Spring framework is used. Every plugin has its own application context with its own class loader which has the app's class loader as parent and resolves classes in the plugin first. A plugin cannot access the application context of the application directly, but only use a well-defined subset of beans that the application has copied into the plugin context (see Section 4.1.6.1.4, “Application Beans in Plugins”). The application also takes care of starting the plugin's context and then collects all Beans of extension point types. A plugin extension is very similar to a service provider, but based on beans (instances) instead of classes.