Details
-
Bug
-
Resolution: Done
-
Major
-
7.20.0.Final
-
None
-
NEW
-
NEW
-
2019 Week 14-16
Description
SpringRegisterableItemsFactory.processHandlers() should only be called once.
However, under certain conditions (PER_REQUEST runtime strategy, high load), it can happen that the method is called concurrently by different threads leading to race conditions.
Possible fix:
private volatile Object initialized = null; protected void processHandlers() { Object result = initialized; if (result == null) { synchronized (this) { if (initialized == null) { [....] initialized = new Object(); } } } }