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;
    }
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
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 .