ejb3/src/main/java/org/jboss/as/ejb3/suspend/EJBSuspendHandlerService.java
public boolean acceptInvocation(InterceptorContext context) throws SystemException {
        if (suspended) {
            if (!gracefulTxnShutdown)
                return false;
            // a null listener means that we are done suspending;
            if (listenerUpdater.get(this) == null || activeTransactionCountUpdater.get(this) == 0)
                return false;
            // retrieve attachment only when we are not entirely suspended, meaning we are mid-suspension
            if (!context.hasTransaction()) {
                // all requests with no transaction must be rejected at this point
                // we need also to block requests with new transactions, which is not being done here. Instead,
                // we are relying on a future call to getTransaction in the same thread, before the invocation is executed;
                // this call will throw an exception if the transaction is new, because this suspend handler
                // has invoked clientTransactionContext.suspendRequests
                return false;
            }
        }
        activeInvocationCountUpdater.incrementAndGet(this);
        return true;
    }
public boolean acceptInvocation(InterceptorContext context) throws SystemException {
        if (suspended) {
            if (!gracefulTxnShutdown)
                return false;
            // a null listener means that we are done suspending;
            if (listenerUpdater.get(this) == null || activeTransactionCountUpdater.get(this) == 0)
                return false;
            // retrieve attachment only when we are not entirely suspended, meaning we are mid-suspension
            if (!context.hasTransaction()) {
                // all requests with no transaction must be rejected at this point
                // we need also to block requests with new transactions, which is not being done here. Instead,
                // we are relying on a future call to getTransaction in the same thread, before the invocation is executed;
                // this call will throw an exception if the transaction is new, because this suspend handler
                // has invoked clientTransactionContext.suspendRequests
                return false;
            }
        }
        activeInvocationCountUpdater.incrementAndGet(this);
        return true;
    }
Indicates if a invocation should be accepted: which will happen only if server is not suspended, or if the invocation
involves a still active transaction.

@param context interceptor context
@return {@code true} if invocation can be accepted by invoking interceptor