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