org.quartz.spi.SchedulerSignaler的实例源码

项目:lams    文件AbstractTerracottaJobStore.java   
@Override
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler) throws SchedulerConfigException {
  init();
  realJobStore.setInstanceId(schedInstId);
  realJobStore.setInstanceName(schedname);
  realJobStore.setTcRetryInterval(tcRetryInterval);

  if (misFireThreshold != null) {
    realJobStore.setMisfireThreshold(misFireThreshold);
  }

  if (synchWrite != null) {
    realJobStore.setSynchronousWrite(synchWrite);
  }

  if (estimatedTimetoReleaseAndAcquireTrigger != null) {
    realJobStore.setEstimatedTimetoReleaseAndAcquireTrigger(estimatedTimetoReleaseAndAcquireTrigger);
  }

  realJobStore.initialize(loadHelper,signaler);
}
项目:lams    文件DefaultClusteredJobStore.java   
/**
 * <p>
 * Called by the QuartzScheduler before the <code>JobStore</code> is used,in order to give the it a chance to
 * initialize.
 * </p>
 */

@Override
// XXX: remove this suppression
@SuppressWarnings("unchecked")
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler schedulerSignaler) {
  this.terracottaClientId = clusterInfo.getCurrentNode().getId();
  this.ftrCtr = System.currentTimeMillis();

  // this MUST happen before initializing the trigger set (otherwise we might receive an update which get an NPE)
  // this.serializer.setClassLoadHelper(loadHelper);

  this.signaler = schedulerSignaler;

  getLog().info(getClass().getSimpleName() + " initialized.");

  ((ToolkitInternal) toolkit).registerBeforeShutdownHook(new ShutdownHook(this));
}
项目:lams    文件PlainTerracottaJobStore.java   
@Override
public synchronized void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler)
    throws SchedulerConfigException {
  if (clusteredJobStore != null) { throw new IllegalStateException("already initialized"); }

  clusteredJobStore = createNewJobStoreInstance(schedname,Boolean.valueOf(synchWrite));
  clusteredJobStore.setThreadPoolSize(threadPoolSize);

  // apply deferred misfire threshold if present
  if (misfireThreshold != null) {
    clusteredJobStore.setMisfireThreshold(misfireThreshold);
    misfireThreshold = null;
  }

  if (estimatedTimetoReleaseAndAcquireTrigger != null) {
    clusteredJobStore.setEstimatedTimetoReleaseAndAcquireTrigger(estimatedTimetoReleaseAndAcquireTrigger);
    estimatedTimetoReleaseAndAcquireTrigger = null;
  }
  clusteredJobStore.setInstanceId(schedInstanceId);
  clusteredJobStore.setTcRetryInterval(tcRetryInterval);
  clusteredJobStore.initialize(loadHelper,signaler);

  // update check
  scheduleUpdateCheck();
}
项目:lams    文件JobStoreCMT.java   
@Override
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler) throws SchedulerConfigException {

    if (nonManagedTxDsName == null) {
        throw new SchedulerConfigException(
            "Non-ManagedTX DataSource name not set!  " +
            "If your 'org.quartz.jobStore.dataSource' is XA,then set " + 
            "'org.quartz.jobStore.nonManagedTXDataSource' to a non-XA "+ 
            "datasource (for the same DB).  " + 
            "Otherwise,you can set them to be the same.");
    }

    if (getLockHandler() == null) {
        // If the user hasn't specified an explicit lock handler,// then we *must* use DB locks with CMT...
        setUseDBLocks(true);
    }

    super.initialize(loadHelper,signaler);

    getLog().info("JobStoreCMT initialized.");
}
项目:asura    文件JobStoreCMT.java   
public void initialize(ClassLoadHelper loadHelper,signaler);

    getLog().info("JobStoreCMT initialized.");
}
项目:quartz-scheduler-hazelcast-jobstore    文件HazelcastJobStoreTest.java   
@Test
public void testStoreAndRetrieveJobs()
  throws Exception {

  final int nJobs = 10;

  SchedulerSignaler schedSignaler = new SampleSignaler();
  ClassLoadHelper loadHelper = new CascadingClassLoadHelper();
  loadHelper.initialize();

  JobStore store = createJobStore("testStoreAndRetrieveJobs");
  store.initialize(loadHelper,schedSignaler);

  // Store jobs.
  for (int i = 0; i < nJobs; i++) {
    JobDetail job = JobBuilder.newJob(NoOpJob.class).withIdentity("job" + i).build();
    store.storeJob(job,false);
  }

  // Retrieve jobs.
  for (int i = 0; i < nJobs; i++) {
    JobKey jobKey = JobKey.jobKey("job" + i);
    JobDetail storedJob = store.retrieveJob(jobKey);
    Assert.assertEquals(storedJob.getKey(),jobKey);
  }
}
项目:quartz-redis-jobstore    文件StoreTriggerTest.java   
@Test
public void getTriggerState() throws Exception {
    SchedulerSignaler signaler = mock(SchedulerSignaler.class);
    AbstractRedisStorage storageDriver = new RedisStorage(new RedisJobStoreSchema(),new ObjectMapper(),signaler,"scheduler1",2000);

    // attempt to retrieve the state of a non-existent trigger
    Trigger.TriggerState state = jobStore.getTriggerState(new TriggerKey("foobar"));
    assertEquals(Trigger.TriggerState.NONE,state);

    // store a trigger
    JobDetail job = getJobDetail();
    crontriggerImpl crontrigger = getcrontrigger("trigger1","group1",job.getKey());
    jobStore.storeTrigger(crontrigger,false);

    // the newly-stored trigger's state should be NONE
    state = jobStore.getTriggerState(crontrigger.getKey());
    assertEquals(Trigger.TriggerState.norMAL,state);

    // set the trigger's state
    storageDriver.setTriggerState(RedisTriggerState.WAITING,500,schema.triggerHashKey(crontrigger.getKey()),jedis);

    // the trigger's state should Now be norMAL
    state = jobStore.getTriggerState(crontrigger.getKey());
    assertEquals(Trigger.TriggerState.norMAL,state);
}
项目:quartz-redis-jobstore    文件BaseTest.java   
@Before
public void setUpRedis() throws IOException,SchedulerConfigException {
    port = getPort();
    logger.debug("Attempting to start embedded Redis server on port " + port);
    redisServer = RedisServer.builder()
            .port(port)
            .build();
    redisServer.start();
    final short database = 1;
    JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
    jedisPoolConfig.setTestOnBorrow(true);
    jedisPool = new JedisPool(jedisPoolConfig,host,port,Protocol.DEFAULT_TIMEOUT,null,database);

    jobStore = new RedisJobStore();
    jobStore.setHost(host);
    jobStore.setLockTimeout(2000);
    jobStore.setPort(port);
    jobStore.setInstanceId("testJobStore1");
    jobStore.setDatabase(database);
    mockScheduleSignaler = mock(SchedulerSignaler.class);
    jobStore.initialize(null,mockScheduleSignaler);
    schema = new RedisJobStoreSchema();

    jedis = jedisPool.getResource();
    jedis.flushDB();
}
项目:redis-quartz    文件RedisJobStore.java   
@Override
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler) throws SchedulerConfigException {

    this.loadHelper = loadHelper;
    this.signaler = signaler;       

    // initializing a connection pool
    JedisPoolConfig config = new JedisPoolConfig();
    if (password != null)
        pool = new JedisPool(config,password);               
    else
        pool = new JedisPool(config,Protocol.DEFAULT_TIMEOUT);

    // initializing a locking connection pool with a longer timeout
    if (lockTimeout == 0)
        lockTimeout = 10 * 60 * 1000; // 10 Minutes locking timeout

     lockPool = new JedisLock(pool.getResource(),"JobLock",lockTimeout);

}
项目:quartz-hazelcast-jobstore    文件TestHazelcastJobStore.java   
@test()
public void testStoreAndRetrieveJobs() throws Exception {
  SchedulerSignaler schedSignaler = new SampleSignaler();
  ClassLoadHelper loadHelper = new CascadingClassLoadHelper();
  loadHelper.initialize();

  JobStore store = createJobStore("testStoreAndRetrieveJobs");
  store.initialize(loadHelper,schedSignaler);

  // Store jobs.
  for (int i = 0; i < 10; i++) {
    JobDetail job = JobBuilder.newJob(NoOpJob.class).withIdentity("job" + i)
        .build();
    store.storeJob(job,false);
  }
  // Retrieve jobs.
  for (int i = 0; i < 10; i++) {
    JobKey jobKey = JobKey.jobKey("job" + i);
    JobDetail storedJob = store.retrieveJob(jobKey);
    Assert.assertEquals(jobKey,storedJob.getKey());
  }
}
项目:quartz-dynamodb    文件DynamoDbJobStore.java   
@Override
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler schedulerSignaler) throws SchedulerConfigException {
    this.loadHelper = loadHelper;
    this.schedulerSignaler = schedulerSignaler;

    if (dynamoDbUrl == null) {
        throw new SchedulerConfigException("DynamoDB location must be set");
    }

    log.info(String.format("DynamoDb: location: '%s',table prefix: '%s'",dynamoDbUrl,quartzPrefix));

    configureAwsCredentials();
    configureClient();

    createClient();

    ensureTables();
}
项目:lams    文件JobStoreTX.java   
@Override
public void initialize(ClassLoadHelper classLoadHelper,SchedulerSignaler schedSignaler) throws SchedulerConfigException {

    super.initialize(classLoadHelper,schedSignaler);

    getLog().info("JobStoreTX initialized.");
}
项目:asura    文件RAMJobStore.java   
/**
 * <p>
 * Called by the QuartzScheduler before the <code>JobStore</code> is
 * used,in order to give the it a chance to initialize.
 * </p>
 */
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler) {

    this.signaler = signaler;

    getLog().info("RAMJobStore initialized.");
}
项目:nexus-public    文件JobStoreImpl.java   
@Override
public void initialize(final ClassLoadHelper loadHelper,final SchedulerSignaler signaler)
    throws SchedulerConfigException
{
  log.info("Instance name: {}; ID: {}",instanceName,instanceId);

  // Todo: Should we consider using ClassLoadHelper?
  this.signaler = checkNotNull(signaler);

  log.info("Initialized");
}
项目:quartz-scheduler-hazelcast-jobstore    文件HazelcastJobStore.java   
@Override
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler)
  throws SchedulerConfigException {

  LOG.debug("Initializing Hazelcast Job Store..");

  this.schedSignaler = signaler;

  if (hazelcastClient == null) {
    LOG.warn("Starting new local hazelcast client since not hazelcast instance setted before starting scheduler.");
    hazelcastClient = Hazelcast.newHazelcastInstance();
  }

  // initializing hazelcast maps
  LOG.debug("Initializing hazelcast maps...");
  jobsByKey = getMap(HC_JOB_STORE_MAP_JOB);
  triggersByKey = getMap(HC_JOB_STORE_TRIGGER_BY_KEY_MAP);
  jobsByGroup = getMultiMap(HC_JOB_STORE_MAP_JOB_BY_GROUP_MAP);
  triggersByGroup = getMultiMap(HC_JOB_STORE_TRIGGER_KEY_BY_GROUP_MAP);
  pausedTriggerGroups = getSet(HC_JOB_STORE_PAUSED_TRIGGER_GROUPS);
  pausedJobGroups = getSet(HC_JOB_STORE_PAUSED_JOB_GROUPS);
  calendarsByName = getMap(HC_JOB_CALENDAR_MAP);

  triggersByKey.addindex("nextFireTime",true);

  LOG.debug("Hazelcast Job Store Initialized.");
}
项目:quartz-scheduler-hazelcast-jobstore    文件HazelcastJobStoreTest.java   
@Test
public void testStoreAndRetriveTriggers()
  throws Exception {

  final int nJobs = 10;

  SchedulerSignaler schedSignaler = new SampleSignaler();
  ClassLoadHelper loadHelper = new CascadingClassLoadHelper();
  loadHelper.initialize();

  JobStore store = createJobStore("testStoreAndRetriveTriggers");
  store.initialize(loadHelper,schedSignaler);

  // Store jobs and triggers.
  for (int i = 0; i < nJobs; i++) {
    JobDetail job = JobBuilder.newJob(NoOpJob.class).withIdentity("job" + i).build();
    store.storeJob(job,true);

    OperableTrigger trigger = buildTrigger("job" + i,DEFAULT_GROUP,job);
    store.storeTrigger((OperableTrigger) trigger,true);
  }
  // Retrieve jobs and triggers.
  for (int i = 0; i < nJobs; i++) {
    JobKey jobKey = JobKey.jobKey("job" + i);
    JobDetail storedJob = store.retrieveJob(jobKey);
    Assert.assertEquals(storedJob.getKey(),jobKey);

    TriggerKey triggerKey = TriggerKey.triggerKey("job" + i);
    OperableTrigger storedTrigger = store.retrieveTrigger(triggerKey);
    Assert.assertEquals(storedTrigger.getKey(),triggerKey);
  }
}
项目:quartz-redis-jobstore    文件AbstractRedisStorage.java   
public AbstractRedisStorage(RedisJobStoreSchema redisSchema,ObjectMapper mapper,SchedulerSignaler signaler,String schedulerInstanceId,int lockTimeout) {
    this.signaler = signaler;
    this.schedulerInstanceId = schedulerInstanceId;
    this.redisSchema = redisSchema;
    this.mapper = mapper;
    this.lockTimeout = lockTimeout;
}
项目:quartz-redis-jobstore    文件StoreTriggerTest.java   
@Test
public void pauseTrigger() throws Exception {
    SchedulerSignaler signaler = mock(SchedulerSignaler.class);
    AbstractRedisStorage storageDriver = new RedisStorage(new RedisJobStoreSchema(),2000);

    // store a trigger
    JobDetail job = getJobDetail();
    crontriggerImpl crontrigger = getcrontrigger("trigger1",job.getKey());
    crontrigger.setNextFireTime(new Date(System.currentTimeMillis()));
    jobStore.storeTrigger(crontrigger,false);

    // set the trigger's state to COMPLETED
    storageDriver.setTriggerState(RedisTriggerState.COMPLETED,jedis);
    jobStore.pauseTrigger(crontrigger.getKey());

    // trigger's state should not have changed
    assertEquals(Trigger.TriggerState.COMPLETE,jobStore.getTriggerState(crontrigger.getKey()));

    // set the trigger's state to BLOCKED
    storageDriver.setTriggerState(RedisTriggerState.BLOCKED,jedis);
    jobStore.pauseTrigger(crontrigger.getKey());

    // trigger's state should be PAUSED
    assertEquals(Trigger.TriggerState.PAUSED,jobStore.getTriggerState(crontrigger.getKey()));

    // set the trigger's state to ACQUIRED
    storageDriver.setTriggerState(RedisTriggerState.ACQUIRED,jobStore.getTriggerState(crontrigger.getKey()));
}
项目:quartz-hazelcast-jobstore    文件HazelcastJobStore.java   
@Override
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler)
    throws SchedulerConfigException {
  log.info("Initializing HazelcastJobStore..");

  final ClientConfig clientConfig = new ClientConfig();
  final ClientNetworkConfig networkConfig = clientConfig.getNetworkConfig();
  networkConfig.addAddress("127.0.0.1:5701");

  hazelcastClient = HazelcastClient.newHazelcastClient(clientConfig);

  // initializing hazelcast maps
  jobsByKey = hazelcastClient.getMap(HC_JOB_STORE_MAP_JOB);
  triggersByKey = hazelcastClient.getMap(HC_JOB_STORE_TRIGGER_BY_KEY_MAP);
  jobsByGroup = hazelcastClient
      .getMultiMap(HC_JOB_STORE_MAP_JOB_BY_GROUP_MAP);
  triggersByGroup = hazelcastClient
      .getMultiMap(HC_JOB_STORE_TRIGGER_KEY_BY_GROUP_MAP);
  pausedTriggerGroups = hazelcastClient
      .getSet(HC_JOB_STORE_PAUSED_TRIGGER_GROUPS);
  pausedJobGroups = hazelcastClient.getSet(HC_JOB_STORE_PAUSED_JOB_GROUPS);
  calendarsByName = hazelcastClient.getMap(HC_JOB_CALENDAR_MAP);

  this.schedSignaler = signaler;

  triggersByKey.addindex("nextFireTime",true);
  log.info("HazelcastJobStore Initialized.");
}
项目:quartz-hazelcast-jobstore    文件TestHazelcastJobStore.java   
@test()
public void testStoreAndRetriveTriggers() throws Exception {
  SchedulerSignaler schedSignaler = new SampleSignaler();
  ClassLoadHelper loadHelper = new CascadingClassLoadHelper();
  loadHelper.initialize();

  JobStore store = createJobStore("testStoreAndRetriveTriggers");
  store.initialize(loadHelper,schedSignaler);

  // Store jobs and triggers.
  for (int i = 0; i < 10; i++) {
    JobDetail job = JobBuilder.newJob(NoOpJob.class).withIdentity("job" + i)
        .build();
    store.storeJob(job,true);
    SimpleScheduleBuilder schedule = SimpleScheduleBuilder.simpleSchedule();
    Trigger trigger = TriggerBuilder.newTrigger().withIdentity("job" + i)
        .withSchedule(schedule).forJob(job).build();
    store.storeTrigger((OperableTrigger) trigger,true);
  }
  // Retrieve job and trigger.
  for (int i = 0; i < 10; i++) {
    JobKey jobKey = JobKey.jobKey("job" + i);
    JobDetail storedJob = store.retrieveJob(jobKey);
    Assert.assertEquals(jobKey,storedJob.getKey());

    TriggerKey triggerKey = TriggerKey.triggerKey("job" + i);
    Trigger storedTrigger = store.retrieveTrigger(triggerKey);
    Assert.assertEquals(triggerKey,storedTrigger.getKey());
  }
}
项目:lams    文件LocalDataSourceJobStore.java   
@Override
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler)
        throws SchedulerConfigException {

    // Absolutely needs thread-bound DataSource to initialize.
    this.dataSource = Schedulerfactorybean.getConfigTimeDataSource();
    if (this.dataSource == null) {
        throw new SchedulerConfigException(
            "No local DataSource found for configuration - " +
            "'dataSource' property must be set on Schedulerfactorybean");
    }

    // Configure transactional connection settings for Quartz.
    setDataSource(TX_DATA_SOURCE_PREFIX + getInstanceName());
    setDontSetAutoCommitFalse(true);

    // Register transactional ConnectionProvider for Quartz.
    DBConnectionManager.getInstance().addConnectionProvider(
            TX_DATA_SOURCE_PREFIX + getInstanceName(),new ConnectionProvider() {
                @Override
                public Connection getConnection() throws sqlException {
                    // Return a transactional Connection,if any.
                    return DataSourceUtils.doGetConnection(dataSource);
                }
                @Override
                public void shutdown() {
                    // Do nothing - a Spring-managed DataSource has its own lifecycle.
                }
                /* Quartz 2.2 initialize method */
                public void initialize() {
                    // Do nothing - a Spring-managed DataSource has its own lifecycle.
                }
            }
    );

    // Non-transactional DataSource is optional: fall back to default
    // DataSource if not explicitly specified.
    DataSource nonTxDataSource = Schedulerfactorybean.getConfigTimeNonTransactionalDataSource();
    final DataSource nonTxDataSourcetoUse = (nonTxDataSource != null ? nonTxDataSource : this.dataSource);

    // Configure non-transactional connection settings for Quartz.
    setNonManagedTXDataSource(NON_TX_DATA_SOURCE_PREFIX + getInstanceName());

    // Register non-transactional ConnectionProvider for Quartz.
    DBConnectionManager.getInstance().addConnectionProvider(
            NON_TX_DATA_SOURCE_PREFIX + getInstanceName(),new ConnectionProvider() {
                @Override
                public Connection getConnection() throws sqlException {
                    // Always return a non-transactional Connection.
                    return nonTxDataSourcetoUse.getConnection();
                }
                @Override
                public void shutdown() {
                    // Do nothing - a Spring-managed DataSource has its own lifecycle.
                }
                /* Quartz 2.2 initialize method */
                public void initialize() {
                    // Do nothing - a Spring-managed DataSource has its own lifecycle.
                }
            }
    );

    // No,if Hsql is the platform,we really don't want to use locks...
    try {
        String productName = JdbcUtils.extractDatabaseMetaData(this.dataSource,"getDatabaseProductName").toString();
        productName = JdbcUtils.commonDatabaseName(productName);
        if (productName != null && productName.toLowerCase().contains("hsql")) {
            setUseDBLocks(false);
            setLockHandler(new SimpleSemaphore());
        }
    }
    catch (MetaDataAccessException ex) {
        logWarnIfNonZero(1,"Could not detect database type. Assuming locks can be taken.");
    }

    super.initialize(loadHelper,signaler);

}
项目:lams    文件JobStoreSupport.java   
/**
 * <p>
 * Called by the QuartzScheduler before the <code>JobStore</code> is
 * used,in order to give it a chance to initialize.
 * </p>
 */
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler) throws SchedulerConfigException {

    if (dsName == null) { 
        throw new SchedulerConfigException("DataSource name not set."); 
    }

    classLoadHelper = loadHelper;
    if(isThreadsInheritinitializersClassLoadContext()) {
        log.info("JDBCJobStore threads will inherit ContextClassLoader of thread: " + Thread.currentThread().getName());
        initializersLoader = Thread.currentThread().getContextClassLoader();
    }

    this.schedSignaler = signaler;

    // If the user hasn't specified an explicit lock handler,then 
    // choose one based on CMT/Clustered/UseDBLocks.
    if (getLockHandler() == null) {

        // If the user hasn't specified an explicit lock handler,// then we *must* use DB locks with clustering
        if (isClustered()) {
            setUseDBLocks(true);
        }

        if (getUseDBLocks()) {
            if(getDriverDelegateClass() != null && getDriverDelegateClass().equals(MSsqlDelegate.class.getName())) {
                if(getSelectWithLocksql() == null) {
                    String mssqlDflt = "SELECT * FROM {0}LOCKS WITH (UPDLOCK,ROWLOCK) WHERE " + COL_SCHEDULER_NAME + " = {1} AND LOCK_NAME = ?";
                    getLog().info("Detected usage of MSsqlDelegate class - defaulting 'selectWithLocksql' to '" + mssqlDflt + "'.");
                    setSelectWithLocksql(mssqlDflt);
                }
            }
            getLog().info("Using db table-based data access locking (synchronization).");
            setLockHandler(new StdRowLockSemaphore(getTablePrefix(),getInstanceName(),getSelectWithLocksql()));
        } else {
            getLog().info(
                "Using thread monitor-based data access locking (synchronization).");
            setLockHandler(new SimpleSemaphore());
        }
    }

}
项目:lams    文件QuartzScheduler.java   
public SchedulerSignaler getSchedulerSignaler() {
    return signaler;
}
项目:asura    文件JobStoreSupport.java   
/**
 * <p>
 * Called by the QuartzScheduler before the <code>JobStore</code> is
 * used,// then we *must* use DB locks with clustering
        if (isClustered()) {
            setUseDBLocks(true);
        }

        if (getUseDBLocks()) {
            if(getDriverDelegateClass() != null && getDriverDelegateClass().equals(MSsqlDelegate.class.getName())) {
                if(getSelectWithLocksql() == null) {
                    String mssqlDflt = "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?";
                    getLog().info("Detected usage of MSsqlDelegate class - defaulting 'selectWithLocksql' to '" + mssqlDflt + "'.");
                    setSelectWithLocksql(mssqlDflt);
                }
            }
            getLog().info("Using db table-based data access locking (synchronization).");
            setLockHandler(new StdRowLockSemaphore(getTablePrefix(),getSelectWithLocksql()));
        } else {
            getLog().info(
                "Using thread monitor-based data access locking (synchronization).");
            setLockHandler(new SimpleSemaphore());
        }
    }

    if (!isClustered()) {
        try {
            cleanVolatileTriggerAndJobs();
        } catch (SchedulerException se) {
            throw new SchedulerConfigException(
                    "Failure occured during job recovery.",se);
        }
    }
}
项目:asura    文件QuartzScheduler.java   
public SchedulerSignaler getSchedulerSignaler() {
    return signaler;
}
项目:spring4-understanding    文件LocalDataSourceJobStore.java   
@Override
public void initialize(ClassLoadHelper loadHelper,signaler);

}
项目:quartz-scheduler-hazelcast-jobstore    文件HazelcastJobStoreTest.java   
@Test
public void testAcquireTriggers()
  throws Exception {

  final int nJobs = 10;

  SchedulerSignaler schedSignaler = new SampleSignaler();
  ClassLoadHelper loadHelper = new CascadingClassLoadHelper();
  loadHelper.initialize();

  JobStore store = createJobStore("testAcquireTriggers");
  store.initialize(loadHelper,schedSignaler);

  // Setup: Store jobs and triggers.
  long MIN = 60 * 1000L;
  Date startTime0 = new Date(System.currentTimeMillis() + MIN); // a min from
  // Now.
  for (int i = 0; i < nJobs; i++) {
    Date startTime = new Date(startTime0.getTime() + i * MIN); // a min apart
    JobDetail job = JobBuilder.newJob(NoOpJob.class).withIdentity("job" + i).build();
    SimpleScheduleBuilder schedule = SimpleScheduleBuilder.repeatMinutelyForever(2);
    OperableTrigger trigger = (OperableTrigger) newTrigger()
        .withIdentity("job" + i)
        .withSchedule(schedule).forJob(job)
        .startAt(startTime)
        .build();

    // Manually trigger the first fire time computation that scheduler would
    // do. Otherwise
    // the store.acquireNextTriggers() will not work properly.
    Date fireTime = trigger.computeFirstFireTime(null);
    Assert.assertNotNull(fireTime);

    store.storeJobAndTrigger(job,trigger);
  }

  // Test acquire one trigger at a time
  for (int i = 0; i < nJobs; i++) {
    long noLaterThan = (startTime0.getTime() + i * MIN);
    int maxCount = 1;
    long timeWindow = 0;
    List<OperableTrigger> triggers = store.acquireNextTriggers(noLaterThan,maxCount,timeWindow);
    Assert.assertEquals(triggers.size(),1);
    Assert.assertEquals(triggers.get(0).getKey().getName(),"job" + i);

    // Let's remove the trigger Now.
    store.removeJob(triggers.get(0).getJobKey());
  }
}
项目:quartz-scheduler-hazelcast-jobstore    文件HazelcastJobStoreTest.java   
@Test
public void testAcquireTriggersInBatch()
  throws Exception {

  SchedulerSignaler schedSignaler = new SampleSignaler();
  ClassLoadHelper loadHelper = new CascadingClassLoadHelper();
  loadHelper.initialize();

  JobStore store = createJobStore("testAcquireTriggersInBatch");
  store.initialize(loadHelper,schedSignaler);

  // Setup: Store jobs and triggers.
  long MIN = 60 * 1000L;
  Date startTime0 = new Date(System.currentTimeMillis() + MIN); // a min from
  // Now.
  for (int i = 0; i < 10; i++) {
    Date startTime = new Date(startTime0.getTime() + i * MIN); // a min apart
    JobDetail job = JobBuilder.newJob(NoOpJob.class).withIdentity("job" + i).build();
    SimpleScheduleBuilder schedule = SimpleScheduleBuilder.repeatMinutelyForever(2);
    OperableTrigger trigger = (OperableTrigger) newTrigger()
        .withIdentity("job" + i)
        .withSchedule(schedule)
        .forJob(job)
        .startAt(startTime)
        .build();

    // Manually trigger the first fire time computation that scheduler would
    // do. Otherwise
    // the store.acquireNextTriggers() will not work properly.
    Date fireTime = trigger.computeFirstFireTime(null);
    Assert.assertNotNull(fireTime);

    store.storeJobAndTrigger(job,trigger);
  }

  // Test acquire batch of triggers at a time
  long noLaterThan = startTime0.getTime() + 10 * MIN;
  int maxCount = 7;
  // time window needs to be big to be able to pick up multiple triggers when
  // they are a minute apart
  long timeWindow = 8 * MIN;
  List<OperableTrigger> triggers = store.acquireNextTriggers(noLaterThan,timeWindow);
  Assert.assertEquals(triggers.size(),7);
}
项目:quartz-redis-jobstore    文件RedisClusterStorage.java   
public RedisClusterStorage(RedisJobStoreSchema redisSchema,int lockTimeout) {
    super(redisSchema,mapper,schedulerInstanceId,lockTimeout);
}
项目:quartz-redis-jobstore    文件RedisStorage.java   
public RedisStorage(RedisJobStoreSchema redisSchema,lockTimeout);
}
项目:quartz-redis-jobstore    文件RedisSentinelJobStoreTest.java   
@Before
public void setUpRedis() throws IOException,SchedulerConfigException {
    final List<Integer> sentinels = Arrays.asList(getPort(),getPort());
    final List<Integer> group1 = Arrays.asList(getPort(),getPort());
    final List<Integer> group2 = Arrays.asList(getPort(),getPort());
    //creates a cluster with 3 sentinels,quorum size of 2 and 3 replication groups,each with one master and one slave
    redisCluster = RedisCluster.builder().sentinelPorts(sentinels).quorumSize(2)
        .serverPorts(group1).replicationGroup("master1",1)
        .serverPorts(group2).replicationGroup("master2",1)
        .ephemeralServers().replicationGroup("master3",1)
        .build();
    redisCluster.start();


    Set<String> jedisSentinelHosts = JedisUtil.sentinelHosts(redisCluster);

    joinedHosts = Joiner.on(",").join(jedisSentinelHosts);

    final short database = 1;
    JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
    jedisPoolConfig.setTestOnBorrow(true);
    jedisPoolConfig.setTestOnCreate(true);
    jedisPoolConfig.setTestOnReturn(true);
    jedisPoolConfig.setMaxWaitMillis(2000);
    jedisPoolConfig.setMaxTotal(20);
    jedisPool = new JedisSentinelPool("master1",jedisSentinelHosts,jedisPoolConfig);
    jobStore = new RedisJobStore();
    jobStore.setHost(joinedHosts);
    jobStore.setJedisPool(jedisSentinelPool);
    jobStore.setLockTimeout(2000);
    jobStore.setMasterGroupName("master1");
    jobStore.setRedisSentinel(true);
    jobStore.setInstanceId("testJobStore1");
    jobStore.setDatabase(database);
    mockScheduleSignaler = mock(SchedulerSignaler.class);
    jobStore.initialize(null,mockScheduleSignaler);
    schema = new RedisJobStoreSchema();

    jedis = jedisPool.getResource();
    jedis.flushDB();

}
项目:class-guard    文件LocalDataSourceJobStore.java   
@Override
public void initialize(ClassLoadHelper loadHelper,new ConnectionProvider() {
                public Connection getConnection() throws sqlException {
                    // Return a transactional Connection,if any.
                    return DataSourceUtils.doGetConnection(dataSource);
                }
                public void shutdown() {
                    // Do nothing - a Spring-managed DataSource has its own lifecycle.
                }
                /* Quartz 2.2 initialize method */
                public void initialize() {
                    // Do nothing - a Spring-managed DataSource has its own lifecycle.
                }
            }
    );

    // Non-transactional DataSource is optional: fall back to default
    // DataSource if not explicitly specified.
    DataSource nonTxDataSource = Schedulerfactorybean.getConfigTimeNonTransactionalDataSource();
    final DataSource nonTxDataSourcetoUse = (nonTxDataSource != null ? nonTxDataSource : this.dataSource);

    // Configure non-transactional connection settings for Quartz.
    setNonManagedTXDataSource(NON_TX_DATA_SOURCE_PREFIX + getInstanceName());

    // Register non-transactional ConnectionProvider for Quartz.
    DBConnectionManager.getInstance().addConnectionProvider(
            NON_TX_DATA_SOURCE_PREFIX + getInstanceName(),new ConnectionProvider() {
                public Connection getConnection() throws sqlException {
                    // Always return a non-transactional Connection.
                    return nonTxDataSourcetoUse.getConnection();
                }
                public void shutdown() {
                    // Do nothing - a Spring-managed DataSource has its own lifecycle.
                }
                /* Quartz 2.2 initialize method */
                public void initialize() {
                    // Do nothing - a Spring-managed DataSource has its own lifecycle.
                }
            }
    );

    // No,signaler);

}
项目:quartz-hazelcast-jobstore    文件TestHazelcastJobStore.java   
@test()
public void testAcquireTriggers() throws Exception {
  SchedulerSignaler schedSignaler = new SampleSignaler();
  ClassLoadHelper loadHelper = new CascadingClassLoadHelper();
  loadHelper.initialize();

  JobStore store = createJobStore("testAcquireTriggers");
  store.initialize(loadHelper,schedSignaler);

  // Setup: Store jobs and triggers.
  long MIN = 60 * 1000L;
  Date startTime0 = new Date(System.currentTimeMillis() + MIN); // a min from
                                                                // Now.
  for (int i = 0; i < 10; i++) {
    Date startTime = new Date(startTime0.getTime() + i * MIN); // a min apart
    JobDetail job = JobBuilder.newJob(NoOpJob.class).withIdentity("job" + i)
        .build();
    SimpleScheduleBuilder schedule = SimpleScheduleBuilder
        .repeatMinutelyForever(2);
    OperableTrigger trigger = (OperableTrigger) TriggerBuilder.newTrigger()
        .withIdentity("job" + i).withSchedule(schedule).forJob(job)
        .startAt(startTime).build();

    // Manually trigger the first fire time computation that scheduler would
    // do. Otherwise
    // the store.acquireNextTriggers() will not work properly.
    Date fireTime = trigger.computeFirstFireTime(null);
    Assert.assertEquals(true,fireTime != null);

    store.storeJobAndTrigger(job,trigger);
  }

  // Test acquire one trigger at a time
  for (int i = 0; i < 10; i++) {
    long noLaterThan = (startTime0.getTime() + i * MIN);
    int maxCount = 1;
    long timeWindow = 0;
    List<OperableTrigger> triggers = store.acquireNextTriggers(noLaterThan,timeWindow);
    Assert.assertEquals(1,triggers.size());
    Assert.assertEquals("job" + i,triggers.get(0).getKey().getName());

    // Let's remove the trigger Now.
    store.removeJob(triggers.get(0).getJobKey());
  }
}
项目:quartz-hazelcast-jobstore    文件TestHazelcastJobStore.java   
@test()
public void testAcquireTriggersInBatch() throws Exception {
  SchedulerSignaler schedSignaler = new SampleSignaler();
  ClassLoadHelper loadHelper = new CascadingClassLoadHelper();
  loadHelper.initialize();

  JobStore store = createJobStore("testAcquireTriggersInBatch");
  store.initialize(loadHelper,timeWindow);
  Assert.assertEquals(7,triggers.size());
}
项目:quartz-couchdb-store    文件CouchDbStore.java   
@Override
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler) throws SchedulerConfigException {
}
项目:lams    文件RAMJobStore.java   
/**
 * <p>
 * Called by the QuartzScheduler before the <code>JobStore</code> is
 * used,SchedulerSignaler schedSignaler) {

    this.signaler = schedSignaler;

    getLog().info("RAMJobStore initialized.");
}
项目:asura    文件JobStoreTX.java   
public void initialize(ClassLoadHelper loadHelper,SchedulerSignaler signaler) throws SchedulerConfigException {

    super.initialize(loadHelper,signaler);

    getLog().info("JobStoreTX initialized.");
}

相关文章

买水果
比较全面的redis工具类
gson 反序列化到多态子类
java 版本的 mb_strwidth
JAVA 反转字符串的最快方法,大概比StringBuffer.reverse()性...
com.google.gson.internal.bind.ArrayTypeAdapter的实例源码...