插件工厂
插件工厂分为两种,一种是以模块的形式封装,由YMP框架初始化时根据配置参数自动构建,称之为默认插件工厂(有且仅能存在一个默认工厂实例),另一种是通过代码手动配置构建的自定义插件工厂,不同之处在于默认插件工厂与框架结合得更紧密,两种模式可以并存;
默认插件工厂
默认插件工厂是在插件模块被YMP框架初始化时自动创建的,其初始化参数及说明如下:
#------------------------------------- # Plugin插件模块初始化参数 #------------------------------------- # 插件主目录路径,可选参数,默认值为${root}/plugins ymp.configs.plugin.plugin_home= # 自动扫描包路径集合,多个包名之间用'|'分隔,默认与框架自动扫描的包路径相同 ymp.configs.plugin.autoscan_packages= # 插件是否自动启动,默认为true ymp.configs.plugin.automatic= # 是否加载当前CLASSPATH内的所有包含插件配置文件的JAR包,默认为true ymp.configs.plugin.included_classpath=
禁用默认插件工厂的方法:
# 在YMP框架配置文件中找到"模块排除列表"项,添加插件模块的名称,如: ymp.excluded_modules=plugin
调用默认插件工厂的方法:
Plugins.get().getPluginFactory();
默认插件工厂的事件监听方法:
默认插件工厂是通过YMP框架的事件服务订阅进行处理,PluginEvent插件事件对象包括以下事件类型:
事务类型 | 说明 |
---|---|
PLUGIN_INITED | 插件初始化事件 |
PLUGIN_STARTED | 插件启动事件 |
PLUGIN_SHUTDOWN | 插件停止事件 |
PLUGIN_DESTROYED | 插件销毁事件 |