Package br.com.objectos.way.cron

Source Code of br.com.objectos.way.cron.GuiceJobFactory

/*
* GuiceJobListener.java criado em 29/06/2011
*
* Propriedade de Objectos Fábrica de Software LTDA.
* Reprodução parcial ou total proibida.
*/
package br.com.objectos.way.cron;

import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.spi.JobFactory;
import org.quartz.spi.TriggerFiredBundle;

import com.google.inject.Inject;
import com.google.inject.Injector;

/**
* @author marcio.endo@objectos.com.br (Marcio Endo)
*/
class GuiceJobFactory implements JobFactory {

  private final Injector injector;

  @Inject
  GuiceJobFactory(Injector injector) {
    this.injector = injector;
  }

  @Override
  public Job newJob(TriggerFiredBundle bundle, Scheduler scheduler) throws SchedulerException {
    JobDetail detail = bundle.getJobDetail();
    Class<? extends Job> jobClass = detail.getJobClass();
    Job instance = injector.getInstance(jobClass);
    return instance;
  }

}
TOP

Related Classes of br.com.objectos.way.cron.GuiceJobFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.