ejb3/src/main/java/org/jboss/as/ejb3/suspend/EJBSuspendHandlerService.java
@Override public void suspended(ServerActivityCallback listener) {
        this.suspended = true;
        listenerUpdater.set(this, listener);
        localTransactionContextInjectedValue.getValue().suspendRequests();

        final int activeInvocationCount = activeInvocationCountUpdater.get(this);
        if (activeInvocationCount == 0) {
            if (gracefulTxnShutdown) {
                if (activeTransactionCountUpdater.get(this) == 0) {
                    this.doneSuspended();
                } else {
                    EjbLogger.ROOT_LOGGER.suspensionWaitingActiveTransactions(activeInvocationCount);
                }
            } else {
                this.doneSuspended();
            }
        }
    }
@Override public void suspended(ServerActivityCallback listener) {
        this.suspended = true;
        listenerUpdater.set(this, listener);
        localTransactionContextInjectedValue.getValue().suspendRequests();

        final int activeInvocationCount = activeInvocationCountUpdater.get(this);
        if (activeInvocationCount == 0) {
            if (gracefulTxnShutdown) {
                if (activeTransactionCountUpdater.get(this) == 0) {
                    this.doneSuspended();
                } else {
                    EjbLogger.ROOT_LOGGER.suspensionWaitingActiveTransactions(activeInvocationCount);
                }
            } else {
                this.doneSuspended();
            }
        }
    }
Notifies local transaction context that server is suspended, and only completes suspension if
there are no active invocations nor transactions.

@param listener callback listener