project_in_meituan_06

配置一个白名单功能

开发流程

grocerymkthd-interact-mapi-service模块的aop包下:

  • ConfigMonitorAop类中的collectData和checkData方法都加一个根据MUser过滤的白名单,不收集开发和测试人员的数据。

grocerymkthd-interact-tools模块中:

  • LionConfig下增加白名单列表字段
  • TaskConfigMonitorDataCollectService和ActivityConfigMonitorDataCollectService下注入LionConfig并且增加判断是否在白名单内的逻辑

要点学习

注意在LionConfig中增加的字段类型必须为具体的实现类(如ArrayList)而不能是接口类(如List),并且要在Lion中进行相应的配置保证可以接收到。

注意开发的这一部分是一个切面类

表示位于com.sankuai下的所有带@ConfigMonitor注解的方法都作为切点,要织入这个around环绕方法

1
2
3
4
5
6
7
8
9
10
11
12
13
@Slf4j
@Aspect
@Component
public class ConfigMonitorAop{
@Resource
private ConfigMonitorDataService monitorDataService;

@Around("execution(public * com.sankuai..*.*(..)) && @annotation(annotation)")
public Object around(ProceedingJoinPoint pjp, ConfigMonitor annotation) throws Throwable{
//...
return pjp.proceed();
}
}
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2022 ZHU
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信