Browse Source

添加 'src/main/java/com/fr/plugin/reset_user_passwd/PerformancePluginMonitor/MyPerformanceMonitor.java'

master
gongbin 3 years ago
parent
commit
77a300eb40
  1. 113
      src/main/java/com/fr/plugin/reset_user_passwd/PerformancePluginMonitor/MyPerformanceMonitor.java

113
src/main/java/com/fr/plugin/reset_user_passwd/PerformancePluginMonitor/MyPerformanceMonitor.java

@ -0,0 +1,113 @@
package com.fr.plugin.reset_user_passwd.PerformancePluginMonitor;
import com.fr.decision.plugin.PluginControllerManager;
import com.fr.event.Event;
import com.fr.event.EventDispatcher;
import com.fr.event.Listener;
import com.fr.event.Null;
import com.fr.log.FineLoggerFactory;
import com.fr.plugin.context.PluginContext;
import com.fr.plugin.context.PluginContexts;
import com.fr.plugin.db.base.BasePluginDBManager;
import com.fr.plugin.injectable.PluginModule;
import com.fr.plugin.manage.PluginManager;
import com.fr.plugin.observer.PluginEventType;
import com.fr.plugin.observer.inner.AbstractPluginLifecycleMonitor;
import com.fr.plugin.reset_user_passwd.Controllers.SpringControllerHandler;
import com.fr.plugin.reset_user_passwd.Controllers.TestController;
import com.fr.plugin.transform.FunctionRecorder;
import com.fr.stable.plugin.ExtraClassManagerProvider;
import com.fr.startup.FineWebApplicationEvent;
import com.fr.startup.SpringContext;
import com.fr.third.springframework.context.ConfigurableApplicationContext;
import com.fr.web.controller.decision.api.template.TemplateAuthResource;
import java.util.List;
import java.util.Set;
@FunctionRecorder
public class MyPerformanceMonitor extends AbstractPluginLifecycleMonitor{
@Override
public void afterRun(PluginContext pluginContext) {
// PluginContexts.currentContext().
FineLoggerFactory.getLogger().info(PluginContexts.currentContext().getID()+"插件启动后:");
/*
EventDispatcher.listen(PluginEventType.AfterRun, this.validListener);
EventDispatcher.listen(PluginEventType.BeforeStop, this.invalidListener);
*/
//自己来注册控制器,不通过xml配置。
// EventDispatcher.listen(FineWebApplicationEvent.AFTER_RUN, this.preRegisterListener);
//从所有插件里获取某一个扩展
/**
ExtraClassManagerProvider var1 = (ExtraClassManagerProvider) PluginModule.ExtraCore.getAgent();
Set var2 = var1.getArray("DBAccessProvider");
*/
//从PluginContext来获取某一个扩展
/**
Set var2 = pluginContext.getRuntime().get("DBAccessProvider");
*/
// PluginControllerManager
}
/*
private Listener<Null> preRegisterListener = new Listener<Null>() {
public void on(Event event, Null o) {
springControllerHandler.registerController(TestController.class);
}
};
private SpringControllerHandler springControllerHandler = new SpringControllerHandler();
private boolean isRegisted = false;
private Listener<PluginContext> validListener = new Listener<PluginContext>() {
public void on(Event var1, PluginContext var2) {
FineLoggerFactory.getLogger().info(var2+"插件启动。。。");
// BasePluginDBManager.this.dealDynamicPluginInstall(var2);
List<PluginContext> pluginContexts = PluginManager.getContexts();
FineLoggerFactory.getLogger().info("已经启动的插件个数:"+pluginContexts.size());
boolean isAllRunning = true;
for(PluginContext context : pluginContexts){
boolean isRunning = context.isRunning();
if(isRunning == false){
isAllRunning = false;
}
boolean isActive = context.isActive();
boolean isAvailable = context.isAvailable();
FineLoggerFactory.getLogger().info(context.getID()+",isRunning:"+isRunning+",isActive:"+isActive+",isAvailable:"+isAvailable);
}
if(isAllRunning == true){
FineLoggerFactory.getLogger().info("所有插件都已经运行了...");
}
}
};
private Listener<PluginContext> invalidListener = new Listener<PluginContext>() {
public void on(Event var1, PluginContext var2) {
FineLoggerFactory.getLogger().info(var2+"插件停止。。。");
// BasePluginDBManager.this.dealDynamicPluginInstall(var2);
}
};
*/
@Override
public void beforeStop(PluginContext pluginContext) {
FineLoggerFactory.getLogger().info(PluginContexts.currentContext().getID()+"插件停止前:");
/*
EventDispatcher.stopListen(this.validListener);
EventDispatcher.stopListen(this.invalidListener);
ConfigurableApplicationContext applicationContext = SpringContext.getWebApplicationContext();
if(applicationContext != null){
this.springControllerHandler.unRegisterController(TestController.class);
}
*/
}
}
Loading…
Cancel
Save