| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| package org.apache.deltaspike.scheduler.impl; |
| |
| import org.apache.deltaspike.core.api.config.ConfigResolver; |
| import org.apache.deltaspike.core.api.config.base.DeltaSpikeBaseConfig; |
| |
| //keep it in the impl. module for now, because it's mainly quartz specific config |
| public interface SchedulerBaseConfig extends DeltaSpikeBaseConfig |
| { |
| interface JobCustomization |
| { |
| String JOB_CLASS_NAME_KEY = "deltaspike.scheduler.job-class"; |
| String RUNNABLE_ADAPTER_CLASS_NAME_KEY = "deltaspike.scheduler.runnable-adapter-class"; |
| String DYNAMIC_EXPRESSION_OBSERVER_INTERVAL_KEY = |
| "deltaspike.scheduler.dynamic-expression.observer-interval"; |
| |
| //don't type it to class to keep quartz optional |
| String DEFAULT_JOB_FACTORY_CLASS_NAME = ConfigResolver.resolve("deltaspike.scheduler.DefaultJobFactory") |
| .withCurrentProjectStage(true) |
| .withDefault("org.quartz.simpl.PropertySettingJobFactory") |
| .getValue(); |
| |
| //don't type it to class to keep quartz optional |
| String JOB_CLASS_NAME = ConfigResolver.resolve(JOB_CLASS_NAME_KEY) |
| .withCurrentProjectStage(true) |
| .withDefault("org.quartz.Job") |
| .getValue(); |
| |
| //don't type it to class to keep quartz optional (JobRunnableAdapter imports classes from quartz) |
| String RUNNABLE_ADAPTER_CLASS_NAME = ConfigResolver.resolve(RUNNABLE_ADAPTER_CLASS_NAME_KEY) |
| .withCurrentProjectStage(true) |
| .withDefault("org.apache.deltaspike.scheduler.impl.JobRunnableAdapter") |
| .getValue(); |
| |
| String DYNAMIC_EXPRESSION_OBSERVER_INTERVAL = |
| ConfigResolver.resolve(DYNAMIC_EXPRESSION_OBSERVER_INTERVAL_KEY) |
| .withCurrentProjectStage(true) |
| .withDefault("0 0/1 * * * ?") |
| .getValue(); |
| } |
| |
| String SCHEDULER_CONFIG_FILE = ConfigResolver.resolve("deltaspike.scheduler.quartz_config-file") |
| .withCurrentProjectStage(true) |
| .withDefault("quartz") |
| .getValue(); |
| |
| interface LifecycleIntegration |
| { |
| String START_SCOPES_PER_JOB_KEY = "deltaspike.scheduler.start_scopes_for_jobs"; |
| |
| Boolean START_SCOPES_PER_JOB = ConfigResolver.resolve(START_SCOPES_PER_JOB_KEY) |
| .as(Boolean.class) |
| .withCurrentProjectStage(true) |
| .withDefault(Boolean.TRUE) |
| .getValue(); |
| |
| Boolean FORCE_STOP = ConfigResolver.resolve("deltaspike.scheduler.force_stop") |
| .as(Boolean.class) |
| .withCurrentProjectStage(true) |
| .withDefault(Boolean.TRUE) |
| .getValue(); |
| |
| Integer DELAYED_START_IN_SECONDS = ConfigResolver.resolve("deltaspike.scheduler.delayed_start_in_seconds") |
| .as(Integer.class) |
| .withCurrentProjectStage(true) |
| .withDefault(1) |
| .getValue(); |
| } |
| } |