插件工厂


插件工厂分为两种,一种是以模块的形式封装,由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插件销毁事件