View Javadoc

1   package com.atlassian.scheduler.quartz2;
2   
3   import com.google.common.collect.ImmutableMap;
4   import org.quartz.simpl.RAMJobStore;
5   import org.quartz.simpl.SimpleThreadPool;
6   
7   import java.util.Map;
8   import java.util.Properties;
9   
10  /**
11   * Generates an initial {@code Properties} object that a {@code Quartz2ConfigurationSettings} can use
12   * as a starting point for further configuration.
13   *
14   * @since v1.3
15   */
16  public class Quartz2DefaultSettingsFactory {
17      private static final ImmutableMap<String, String> DEFAULT_LOCAL_CONFIG = ImmutableMap.<String, String>builder()
18              .put("org.quartz.jobStore.class", RAMJobStore.class.getName())
19              .put("org.quartz.scheduler.instanceName", "atlassian-scheduler-quartz2.local")
20              .put("org.quartz.scheduler.skipUpdateCheck", "true")
21              .put("org.quartz.threadPool.class", SimpleThreadPool.class.getName())
22              .put("org.quartz.threadPool.threadCount", "4")
23              .put("org.quartz.threadPool.threadPriority", "4")
24              .build();
25  
26      private static final ImmutableMap<String, String> DEFAULT_CLUSTERED_CONFIG = ImmutableMap.<String, String>builder()
27              .put("org.quartz.jobStore.class", Quartz2HardenedJobStore.class.getName())
28              .put("org.quartz.jobStore.isClustered", "true")
29              .put("org.quartz.scheduler.instanceName", "atlassian-scheduler-quartz2.clustered")
30              .put("org.quartz.scheduler.skipUpdateCheck", "true")
31              .put("org.quartz.threadPool.class", SimpleThreadPool.class.getName())
32              .put("org.quartz.threadPool.threadCount", "4")
33              .put("org.quartz.threadPool.threadPriority", "4")
34              .build();
35  
36      public static Properties getDefaultLocalSettings() {
37          return toProperties(DEFAULT_LOCAL_CONFIG);
38      }
39  
40      public static Properties getDefaultClusteredSettings() {
41          return toProperties(DEFAULT_CLUSTERED_CONFIG);
42      }
43  
44      private static Properties toProperties(final Map<String, String> defaultConfig) {
45          final Properties config = new Properties();
46          for (Map.Entry<String, String> entry : defaultConfig.entrySet()) {
47              config.setProperty(entry.getKey(), entry.getValue());
48          }
49          return config;
50      }
51  }
52