Class NuxeoStandbyFilter.Controller
- java.lang.Object
-
- org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoStandbyFilter.Controller
-
- Enclosing class:
- NuxeoStandbyFilter
protected static class NuxeoStandbyFilter.Controller extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected ConditioncanProceedprotected ConditioncanStandbyprotected ThreadLocal<Boolean>hasBeenFilteredThis variable is used to determine if the Thread wanting to shutdown/standby the server has gone through this filter.protected AtomicIntegerinProgressprotected booleanisStandbyprotected Locklock
-
Constructor Summary
Constructors Modifier Constructor Description protectedController()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidawaitCanProceed()protected voidawaitCanStandby()voidonNewRequest()voidonRequestEnd()voidonResumed()voidonStandby()protected voidsignalBlockedToProceed()protected voidsignalBlockedToStandby()
-
-
-
Field Detail
-
lock
protected final Lock lock
-
canStandby
protected final Condition canStandby
-
canProceed
protected final Condition canProceed
-
isStandby
protected volatile boolean isStandby
-
inProgress
protected final AtomicInteger inProgress
-
hasBeenFiltered
protected final ThreadLocal<Boolean> hasBeenFiltered
This variable is used to determine if the Thread wanting to shutdown/standby the server has gone through this filter. We need this variable in order to not wait for ourself to end.Calls relying on this variable:
- org.nuxeo.runtime.reload.NuxeoRestart#restart()
- org.nuxeo.ecm.admin.operation.HotReloadStudioSnapshot#run()
- org.nuxeo.connect.client.jsf.AppCenterViewsManager#installStudioSnapshotAndRedirect()
-
-
Method Detail
-
onNewRequest
public void onNewRequest()
-
onRequestEnd
public void onRequestEnd()
-
onStandby
public void onStandby() throws RuntimeException- Throws:
RuntimeException
-
onResumed
public void onResumed()
-
awaitCanProceed
protected void awaitCanProceed() throws RuntimeException- Throws:
RuntimeException
-
awaitCanStandby
protected void awaitCanStandby() throws RuntimeException- Throws:
RuntimeException
-
signalBlockedToProceed
protected void signalBlockedToProceed()
-
signalBlockedToStandby
protected void signalBlockedToStandby()
-
-