You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1007 B

package com.fr.plugin.memory.release.strategy;
import com.fr.decision.fun.impl.BaseMemoryReleaseStrategyProcessor;
import com.fr.decision.system.monitor.gc.load.LoadLevel;
import com.fr.decision.system.monitor.release.ReleaseStrategyHolder;
import com.fr.intelli.record.Focus;
import com.fr.intelli.record.Original;
import com.fr.record.analyzer.EnableMetrics;
@EnableMetrics
public class ReleaseStrategyProvider extends BaseMemoryReleaseStrategyProcessor {
private ReleaseStrategyHolder holder;
private void init() {
holder = new ReleaseStrategyHolder();
holder.addStrategy(LoadLevel.HIGH, HighReleaseStrategy.getInstance());
holder.addStrategy(LoadLevel.TERRIBLE, TerribleReleaseStrategy.getInstance());
}
@Override
@Focus(id = StrategyConstant.PLUGIN_ID, text = "Plugin-RELEASE_STRATEGY", source = Original.PLUGIN)
public ReleaseStrategyHolder getStrategy() {
if (holder == null) {
init();
}
return holder;
}
}