ff4j Flipping Strategies

基于Flipping Strategies 我们可以更好的控制feature,这样对于系统就可以有更灵活的管理
当然策略的使用还是比较简单的,同时我们也可以自己扩展策略

策略配置

  • 参考实现
 
public class OfficeHoursFlippingStrategy extends AbstractFlipStrategy {
 /** Start Hour. */ 
 private int start = 0;
 /** Hend Hour. */
 private int end = 0;
 /** {@inheritDoc} */
 @Override
 public void init(String featureName, Map<String, String> initValue) { 
   super.init(featureName, initValue);
   assertRequiredParameter("startDate");
   assertRequiredParameter("endDate");
   start = new Integer(initValue.get("startDate")); 
   end = new Integer(initValue.get("endDate"));
}
 /** {@inheritDoc} */
 @Override
 public boolean evaluate(String fName, FeatureStore fStore, FlippingExecutionContext ctx) { 
   int currentHour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
   return (currentHour >= start && currentHour < end);
 }
}
  • 参考配置
<?xml version="1.0" encoding="UTF-8" ?>
<features>
 <feature uid="sayHello" enable="true" description="some desc">
  <flipstrategy class="org.ff4j.sample.strategy.OfficeHoursFlippingStrategy" > 
  <param name="startDate">9</param>
  <param name="endDate">18</param>
  </flipstrategy>
 </feature>
</features>

说明

一些内置策略的详细使用,可以参考github 文档

参考资料

https://github.com/ff4j/ff4j/wiki/Flipping-Strategies

posted on   荣锋亮  阅读(270)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2016-04-20 HOCON 了解
2014-04-20 jQuery DataTables

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示