private void enqueueGlobal(GlobalPoolTask globalTask) {
        globalTask.expedite = false;
        boolean submitted = false;
        try {
            globalExecutor.executeWithoutInterceptors(globalTask);
            submitted = true;
        } finally {
            if (!submitted) {
                maxConcurrencyConstraint.release();

                if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                    Tr.debug(this, tc, "expedites/maxConcurrency available", expeditesAvailable, maxConcurrencyConstraint.availablePermits());
            }
        }
    }
private void enqueueGlobal ( GlobalPoolTask globalTask ) { globalTask . expedite = false ; boolean submitted = false ; try { globalExecutor . executeWithoutInterceptors ( globalTask ) ; submitted = true ; } finally { if ( ! submitted ) { maxConcurrencyConstraint . release ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) Tr . debug ( this , tc , "expedites/maxConcurrency available" , expeditesAvailable , maxConcurrencyConstraint . availablePermits ( ) ) ; } } }
Queue a task to the global executor.
Prereq: maxConcurrencyConstraint permit must already be acquired to reflect the task being queued to global.
If unsuccessful in queuing to global, this method releases the maxConcurrencyConstraint permit.

@param globalTask task that can execute tasks that are queued to the policy executor.