Java源码示例:com.jfinal.plugin.IPlugin

示例1
private CheckVersionResponse getCheckVersionResponse(boolean fetchAble) {
    Plugins plugins = (Plugins) JFinal.me().getServletContext().getAttribute("plugins");
    CheckVersionResponse checkVersionResponse = new CheckVersionResponse();
    for (IPlugin plugin : plugins.getPluginList()) {
        if (plugin instanceof UpdateVersionPlugin) {
            Version version = ((UpdateVersionPlugin) plugin).getLastVersion(fetchAble);
            if (version != null) {
                checkVersionResponse.setUpgrade(true);
                checkVersionResponse.setVersion(version);
            }
        }
    }
    if (checkVersionResponse.getVersion() != null) {
        //不在页面展示SNAPSHOT
        checkVersionResponse.getVersion().setVersion(checkVersionResponse.getVersion().getVersion().replaceAll("-SNAPSHOT", ""));
    }
    return checkVersionResponse;
}
 
示例2
public static void stopPlugin(String pluginName) {
    for (IPlugin iPlugin : pluginList) {
        if (iPlugin.getClass().getSimpleName().equals(pluginName)) {
            iPlugin.stop();
        }
    }
}
 
示例3
public static List<IPlugin> findPlugin(String pluginName) {
    List<IPlugin> plugins = Lists.newArrayList();
    for (IPlugin iPlugin : pluginList) {
        if (iPlugin.getClass().getSimpleName().equals(pluginName)) {
            plugins.add(iPlugin);
        }
    }
    return plugins;
}
 
示例4
public static void startPlugin(String pluginName) {
    for (IPlugin iPlugin : pluginList) {
        if (iPlugin.getClass().getSimpleName().equals(pluginName)) {
            iPlugin.start();
        }
    }
}
 
示例5
public static void restartPlugin(String pluginName) {
    for (IPlugin iPlugin : pluginList) {
        if (iPlugin.getClass().getSimpleName().equals(pluginName)) {
            iPlugin.stop();
            iPlugin.start();
        }
    }
}
 
示例6
/**
 * 重写了JFinal的stop方法,目的是为了,系统正常停止后(如使用sh catalina.sh stop,进行自动更新时),正常关闭插件,防治内存泄漏。
 */
@Override
public void beforeJFinalStop() {
    PluginCoreProcess.getInstance().stopPluginCore();
    for (IPlugin plugin : plugins.getPluginList()) {
        plugin.stop();
    }
}
 
示例7
/**
 * 当安装流程正常执行完成时,调用了该方法,主要用于配置,启动JFinal插件功能,以及相应的Zrlog的插件服务。
 */
public void installFinish() {
    configPlugin(plugins);
    List<IPlugin> pluginList = plugins.getPluginList();
    for (IPlugin plugin : pluginList) {
        plugin.start();
    }
    initDatabaseVersion();
}
 
示例8
public static List<IPlugin> findPlugin(Class<? extends IPlugin> plugin) {
    return findPlugin(plugin.getSimpleName());
}
 
示例9
public JfinalPlugins add(IPlugin plugin) {
    Aop.inject(plugin);
    plugins.add(plugin);
    return this;
}