手册目录

概述

YMP在线手册

浏览12651
更新时间2022-04-11
自定义插件工厂有两种方式:
  • 通过@PluginFactory注解配置插件工厂,注解参数说明如下:

    QQ截图20170207104507.png

    示例代码:

        @PluginFactory(pluginHome = "${root}/plugins")
        public class DemoPluginFactory extends DefaultPluginFactory {
        }
    
        // 或者
    
        @PluginFactory(pluginHome = "${root}/plugins",
                autoscanPackages = {"com.company", "cn.company"},
                automatic = true,
                includedClassPath = false,
                listenerClass = DemoPluginEventListener.class)
        public class DemoPluginFactory extends DefaultPluginFactory {
        }
  • 通过工厂配置对象实例化

    创建工厂配置对象:

        DefaultPluginConfig _conf = new DefaultPluginConfig();
        _conf.setPluginHome(new File(RuntimeUtils.replaceEnvVariable("${root}/plugins")));
        _conf.setAutomatic(true);
        _conf.setAutoscanPackages(Arrays.asList("com.company", "cn.company"));
        _conf.setIncludedClassPath(false);
        _conf.setPluginEventListener(new DefaultPluginEventListener());

    创建并初始化插件工厂实例对象:

        IPluginFactory _factory = new DefaultPluginFactory();
        _factory.init(_conf);

    自定义插件工厂的事件监听方法:

    自定义插件工厂的事件处理方式与默认插件工厂不同,须通过实现IPluginEventListener接口完成插件生命周期事件监听,IPluginEventListener接口事件方法及说明如下:

    QQ截图20170207104529.png

    示例代码:

    public class DemoPluginEventListener implements IPluginEventListener {
    
        public void onInited(IPluginContext context, IPlugin plugin) {
            System.out.println("onInited: " + context.getPluginMeta().getName());
        }
    
        public void onStarted(IPluginContext context, IPlugin plugin) {
            System.out.println("onStarted: " + context.getPluginMeta().getName());
        }
    
        public void onShutdown(IPluginContext context, IPlugin plugin) {
            System.out.println("onShutdown: " + context.getPluginMeta().getName());
        }
    
        public void onDestroy(IPluginContext context, IPlugin plugin) {
            System.out.println("onDestroy: " + context.getPluginMeta().getName());
        }
    }

相关视频

更多

免费

php8,我来也
初级php8,我来也

322012次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382629次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

283380次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13425次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 62.5万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 39.8万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 73.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号