1 package org.apache.maven.archiva.scheduled;
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
22 import org.apache.maven.archiva.common.ArchivaException;
23 import org.apache.maven.archiva.scheduled.tasks.ArtifactIndexingTask;
24 import org.apache.maven.archiva.scheduled.tasks.DatabaseTask;
25 import org.apache.maven.archiva.scheduled.tasks.RepositoryTask;
26 import org.codehaus.plexus.taskqueue.TaskQueueException;
27 import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
30 * The component that takes care of scheduling in the application.
33 public interface ArchivaTaskScheduler
36 * The Plexus component role.
38 public final static String ROLE = ArchivaTaskScheduler.class.getName();
41 * Checks if there is any database scanning task queued.
44 * @throws ArchivaException
46 public boolean isProcessingDatabaseTask();
49 * Checks if a repository scanning task for the specified repository is queuedd.
53 * @throws ArchivaException
55 public boolean isProcessingRepositoryTask( String repositoryId );
58 * Adds the database task to the database scanning queue.
61 * @throws TaskQueueException
63 public void queueDatabaseTask( DatabaseTask task )
64 throws TaskQueueException;
67 * Adds the repository task to the repo scanning queue.
70 * @throws TaskQueueException
72 public void queueRepositoryTask( RepositoryTask task )
73 throws TaskQueueException;
76 * Adds the indexing task to the indexing queue.
79 * @throws TaskQueueException
81 public void queueIndexingTask( ArtifactIndexingTask task )
82 throws TaskQueueException;
85 * Schedules the database tasks using the set cron expression.
87 * @throws TaskExecutionException
89 public void scheduleDatabaseTasks()
90 throws TaskExecutionException;
93 throws ArchivaException;