org.apache.archiva.scheduler.repository
Class DefaultRepositoryArchivaTaskScheduler

java.lang.Object
  extended by org.apache.archiva.scheduler.repository.DefaultRepositoryArchivaTaskScheduler
All Implemented Interfaces:
ConfigurationListener, ArchivaTaskScheduler<RepositoryTask>, RepositoryArchivaTaskScheduler

@Service(value="archivaTaskScheduler#repository")
public class DefaultRepositoryArchivaTaskScheduler
extends Object
implements RepositoryArchivaTaskScheduler, ConfigurationListener

Default implementation of a scheduling component for archiva.


Field Summary
private  ArchivaConfiguration archivaConfiguration
           
static String CRON_HOURLY
           
private  org.apache.archiva.redback.components.scheduler.CronExpressionValidator cronValidator
           
private  Set<String> jobs
           
private  org.slf4j.Logger log
           
private  List<String> queuedRepos
           
private static String REPOSITORY_JOB
           
private static String REPOSITORY_JOB_TRIGGER
           
private static String REPOSITORY_SCAN_GROUP
           
private  org.apache.archiva.redback.components.taskqueue.TaskQueue repositoryScanningQueue
           
private  RepositorySessionFactory repositorySessionFactory
          TODO: could have multiple implementations
private  RepositoryStatisticsManager repositoryStatisticsManager
           
private  org.apache.archiva.redback.components.scheduler.Scheduler scheduler
           
(package private) static String TASK_QUEUE
           
(package private) static String TASK_REPOSITORY
           
 
Constructor Summary
DefaultRepositoryArchivaTaskScheduler()
           
 
Method Summary
 void configurationEvent(ConfigurationEvent event)
          Generic event point to notify components that something has happend in the configuration.
private  boolean isPreviouslyScanned(ManagedRepositoryConfiguration repoConfig, MetadataRepository metadataRepository)
           
 boolean isProcessingRepositoryTask(RepositoryTask task)
           
 boolean isProcessingRepositoryTask(String repositoryId)
           
private  void queueInitialRepoScan(ManagedRepositoryConfiguration repoConfig)
           
 void queueTask(RepositoryTask task)
          Adds the task to the scanning queue.
private  void scheduleRepositoryJobs(ManagedRepositoryConfiguration repoConfig)
           
 void startup()
           
 void stop()
           
 boolean unQueueTask(RepositoryTask task)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private org.slf4j.Logger log

scheduler

@Inject
private org.apache.archiva.redback.components.scheduler.Scheduler scheduler

cronValidator

@Inject
private org.apache.archiva.redback.components.scheduler.CronExpressionValidator cronValidator

repositoryScanningQueue

@Inject
@Named(value="taskQueue#repository-scanning")
private org.apache.archiva.redback.components.taskqueue.TaskQueue repositoryScanningQueue

archivaConfiguration

@Inject
private ArchivaConfiguration archivaConfiguration

repositoryStatisticsManager

@Inject
@Named(value="repositoryStatisticsManager#default")
private RepositoryStatisticsManager repositoryStatisticsManager

repositorySessionFactory

@Inject
private RepositorySessionFactory repositorySessionFactory
TODO: could have multiple implementations


REPOSITORY_SCAN_GROUP

private static final String REPOSITORY_SCAN_GROUP
See Also:
Constant Field Values

REPOSITORY_JOB

private static final String REPOSITORY_JOB
See Also:
Constant Field Values

REPOSITORY_JOB_TRIGGER

private static final String REPOSITORY_JOB_TRIGGER
See Also:
Constant Field Values

TASK_QUEUE

static final String TASK_QUEUE
See Also:
Constant Field Values

TASK_REPOSITORY

static final String TASK_REPOSITORY
See Also:
Constant Field Values

CRON_HOURLY

public static final String CRON_HOURLY
See Also:
Constant Field Values

jobs

private Set<String> jobs

queuedRepos

private List<String> queuedRepos
Constructor Detail

DefaultRepositoryArchivaTaskScheduler

public DefaultRepositoryArchivaTaskScheduler()
Method Detail

startup

@PostConstruct
public void startup()
             throws ArchivaException
Throws:
ArchivaException

stop

@PreDestroy
public void stop()
          throws org.quartz.SchedulerException
Throws:
org.quartz.SchedulerException

isProcessingRepositoryTask

public boolean isProcessingRepositoryTask(String repositoryId)
Specified by:
isProcessingRepositoryTask in interface RepositoryArchivaTaskScheduler

isProcessingRepositoryTask

public boolean isProcessingRepositoryTask(RepositoryTask task)
Specified by:
isProcessingRepositoryTask in interface RepositoryArchivaTaskScheduler

queueTask

public void queueTask(RepositoryTask task)
               throws org.apache.archiva.redback.components.taskqueue.TaskQueueException
Description copied from interface: ArchivaTaskScheduler
Adds the task to the scanning queue.

Specified by:
queueTask in interface ArchivaTaskScheduler<RepositoryTask>
Specified by:
queueTask in interface RepositoryArchivaTaskScheduler
Throws:
org.apache.archiva.redback.components.taskqueue.TaskQueueException

unQueueTask

public boolean unQueueTask(RepositoryTask task)
                    throws org.apache.archiva.redback.components.taskqueue.TaskQueueException
Specified by:
unQueueTask in interface RepositoryArchivaTaskScheduler
Throws:
org.apache.archiva.redback.components.taskqueue.TaskQueueException

configurationEvent

public void configurationEvent(ConfigurationEvent event)
Description copied from interface: ConfigurationListener
Generic event point to notify components that something has happend in the configuration.

Specified by:
configurationEvent in interface ConfigurationListener

isPreviouslyScanned

private boolean isPreviouslyScanned(ManagedRepositoryConfiguration repoConfig,
                                    MetadataRepository metadataRepository)
                             throws MetadataRepositoryException
Throws:
MetadataRepositoryException

queueInitialRepoScan

private void queueInitialRepoScan(ManagedRepositoryConfiguration repoConfig)

scheduleRepositoryJobs

private void scheduleRepositoryJobs(ManagedRepositoryConfiguration repoConfig)
                             throws org.quartz.SchedulerException
Throws:
org.quartz.SchedulerException


Copyright © 2006-2013 The Apache Software Foundation. All Rights Reserved.