@Inject
    public SchedulerProvider( SchedulerConfiguration schedulerConfiguration )
        throws SchedulerException
    {
        StdSchedulerFactory schedulerFactory = new StdSchedulerFactory();

        if ( schedulerConfiguration.getProperties() != null )
        {
            schedulerFactory.initialize( schedulerConfiguration.getProperties() );
        }

        this.scheduler = schedulerFactory.getScheduler();

        if ( !schedulerConfiguration.startManually() )
        {
            scheduler.start();
        }
    }