I am getting this prompt from Sonar: Instance methods should not write to "static" fields
I'm not quite sure what I need to change to fix this issue.
Does "SemaMonitorProxy.applicationContext" have to equal a static method?
public class SemaMonitorProxy implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
public void registerFailedLoginAttempt(HttpServletRequest request, HttpServletResponse response) {
final SemaMonitor semaMonitor = applicationContext.getBean(SemaMonitor.class);
semaMonitor.registerFailedLoginAttempt(request, response);
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SemaMonitorProxy.applicationContext = applicationContext;
}
}
In fact this method:
is an instance method writing to a static field:
You cannot make the above method static. So the only solution would be to remove the static keyword from the
applicationContext
declaration.