public Task take()

in spring-taskqueue/src/main/java/org/apache/archiva/components/taskqueue/DefaultTaskQueue.java [110:141]


    public Task take( )
        throws TaskQueueException
    {
        logger.debug( "take" );
        while ( true )
        {
            Task task = dequeue( );

            if ( task == null )
            {
                return null;
            }

            for ( TaskExitEvaluator taskExitEvaluator : taskExitEvaluators )
            {
                boolean result = taskExitEvaluator.evaluate( task );

                if ( !result )
                {
                    // the task wasn't accepted; drop it.
                    task = null;

                    break;
                }
            }

            if ( task != null )
            {
                return task;
            }
        }
    }