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 Details

    • 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()
  • Constructor Details

    • Controller

      protected Controller()
  • Method Details

    • 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()