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;
}