本文主要是介绍Make the enclosing method “static“ or remove this set.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
团队引入了Sonar Qube做代码质量管理,反馈了一个问题:Make the enclosing method "static" or remove this set.
发生问题的地方在:
查了一下,是rule S2696
意思是:从非静态方法正确更新静态字段很难做到正确,如果有多个类实例和/或多个线程在运行,很容易导致错误。 理想情况下,静态字段仅从同步静态方法中更新。
解决方法:
1.adding @SuppressWarnings("squid:S2696")
to the top of the offending method causes Sonar to ignore that warning completely.
2.
@Setter
private static volatile ApplicationContext context;@Override
public void setApplicationContext(ApplicationContext ac) throws BeansException {setContext(ac);
}
未经验证~先记录一下
这篇关于Make the enclosing method “static“ or remove this set.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!