package com.github.ltsopensource.queue.mongo;
import com.github.ltsopensource.core.AppContext;
import com.github.ltsopensource.core.cluster.Config;
import com.github.ltsopensource.queue.*;
/**
* @author Robert HG (254963746@qq.com) on 3/12/16.
*/
public class MongoJobQueueFactory implements JobQueueFactory {
@Override
public CronJobQueue getCronJobQueue(Config config) {
return new MongoCronJobQueue(config);
}
@Override
public RepeatJobQueue getRepeatJobQueue(Config config) {
return new MongoRepeatJobQueue(config);
}
@Override
public ExecutableJobQueue getExecutableJobQueue(Config config) {
return new MongoExecutableJobQueue(config);
}
@Override
public ExecutingJobQueue getExecutingJobQueue(Config config) {
return new MongoExecutingJobQueue(config);
}
@Override
public JobFeedbackQueue getJobFeedbackQueue(Config config) {
return new MongoJobFeedbackQueue(config);
}
@Override
public NodeGroupStore getNodeGroupStore(Config config) {
return new MongoNodeGroupStore(config);
}
@Override
public SuspendJobQueue getSuspendJobQueue(Config config) {
return new MongoSuspendJobQueue(config);
}
@Override
public PreLoader getPreLoader(AppContext appContext) {
return new MongoPreLoader(appContext);
}
}